From 353dfe1b943db9bd7686c364c0b36d9f37255c92 Mon Sep 17 00:00:00 2001 From: Aneesh Kumar K.V Date: Mon, 30 Nov 2009 13:57:04 +0530 Subject: [RFC PATCH 03/14] richacl: Add write retention and retention hold access mask These new flags are added in nfsv4.1. They don't have any meaning in posix. So we don't need to do access checks with these mask. But nfsd should be able to save these masks Signed-off-by: Aneesh Kumar K.V --- include/linux/richacl.h | 47 +++++++++++++++++++++++++++-------------------- 1 files changed, 27 insertions(+), 20 deletions(-) diff --git a/include/linux/richacl.h b/include/linux/richacl.h index a2b4bd0..c56f152 100644 --- a/include/linux/richacl.h +++ b/include/linux/richacl.h @@ -75,32 +75,39 @@ struct richacl { #define ACE4_DELETE_CHILD 0x00000040 #define ACE4_READ_ATTRIBUTES 0x00000080 #define ACE4_WRITE_ATTRIBUTES 0x00000100 +#define ACE4_WRITE_RETENTION 0x00000200 +#define ACE4_WRITE_RETENTION_HOLD 0x00000400 + + + #define ACE4_DELETE 0x00010000 #define ACE4_READ_ACL 0x00020000 #define ACE4_WRITE_ACL 0x00040000 #define ACE4_WRITE_OWNER 0x00080000 #define ACE4_SYNCHRONIZE 0x00100000 -#define ACE4_VALID_MASK ( \ - ACE4_READ_DATA | ACE4_LIST_DIRECTORY | \ - ACE4_WRITE_DATA | ACE4_ADD_FILE | \ - ACE4_APPEND_DATA | ACE4_ADD_SUBDIRECTORY | \ - ACE4_READ_NAMED_ATTRS | \ - ACE4_WRITE_NAMED_ATTRS | \ - ACE4_EXECUTE | \ - ACE4_DELETE_CHILD | \ - ACE4_READ_ATTRIBUTES | \ - ACE4_WRITE_ATTRIBUTES | \ - ACE4_DELETE | \ - ACE4_READ_ACL | \ - ACE4_WRITE_ACL | \ - ACE4_WRITE_OWNER | \ - ACE4_SYNCHRONIZE) - -#define ACE4_POSIX_ALWAYS_ALLOWED ( \ - ACE4_SYNCHRONIZE | \ - ACE4_READ_ATTRIBUTES | \ - ACE4_READ_ACL) +#define ACE4_VALID_MASK ( \ + ACE4_READ_DATA | ACE4_LIST_DIRECTORY | \ + ACE4_WRITE_DATA | ACE4_ADD_FILE | \ + ACE4_APPEND_DATA | ACE4_ADD_SUBDIRECTORY | \ + ACE4_READ_NAMED_ATTRS | \ + ACE4_WRITE_NAMED_ATTRS | \ + ACE4_EXECUTE | \ + ACE4_DELETE_CHILD | \ + ACE4_READ_ATTRIBUTES | \ + ACE4_WRITE_ATTRIBUTES | \ + ACE4_WRITE_RETENTION | \ + ACE4_WRITE_RETENTION_HOLD | \ + ACE4_DELETE | \ + ACE4_READ_ACL | \ + ACE4_WRITE_ACL | \ + ACE4_WRITE_OWNER | \ + ACE4_SYNCHRONIZE) + +#define ACE4_POSIX_ALWAYS_ALLOWED ( \ + ACE4_SYNCHRONIZE | \ + ACE4_READ_ATTRIBUTES | \ + ACE4_READ_ACL) /* * Duplicate an RICHACL handle. */ -- 1.6.5.2.74.g610f9