ChangeSet 1.2315, 2005/03/31 09:00:03-08:00, [EMAIL PROTECTED]

        [PATCH] nfsd4: don't set WRITE_OWNER in either allow or deny bits
        
        WRITE_OWNER should be neither allowed nor denied.
        
        This improves interoperability with Solaris clients and represents our
        permissions more accurately.
        
        It breaks compatibility with clients using the old version of the
        NFSv4<->POSIX mapping.  I believe the only code that did that was older
        versions of experimental client-side code available only from our 
website, so
        I prefer not to introduce a hack just to continue support the old 
mapping.
        
        Signed-off-by: J. Bruce Fields <[EMAIL PROTECTED]>
        Signed-off-by: Neil Brown <[EMAIL PROTECTED]>
        Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
        Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>



 nfs4acl.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)


diff -Nru a/fs/nfsd/nfs4acl.c b/fs/nfsd/nfs4acl.c
--- a/fs/nfsd/nfs4acl.c 2005-03-31 10:31:16 -08:00
+++ b/fs/nfsd/nfs4acl.c 2005-03-31 10:31:16 -08:00
@@ -55,6 +55,9 @@
 #define NFS4_ANYONE_MODE (NFS4_ACE_READ_ATTRIBUTES | NFS4_ACE_READ_ACL | 
NFS4_ACE_SYNCHRONIZE)
 #define NFS4_OWNER_MODE (NFS4_ACE_WRITE_ATTRIBUTES | NFS4_ACE_WRITE_ACL)
 
+/* We don't support these bits; insist they be neither allowed nor denied */
+#define NFS4_MASK_UNSUPP (NFS4_ACE_DELETE | NFS4_ACE_WRITE_OWNER)
+
 /* flags used to simulate posix default ACLs */
 #define NFS4_INHERITANCE_FLAGS (NFS4_ACE_FILE_INHERIT_ACE \
                | NFS4_ACE_DIRECTORY_INHERIT_ACE | NFS4_ACE_INHERIT_ONLY_ACE)
@@ -83,7 +86,7 @@
 static u32
 deny_mask(u32 allow_mask, unsigned int flags)
 {
-       u32 ret = ~allow_mask & ~NFS4_ACE_DELETE;
+       u32 ret = ~allow_mask & ~NFS4_MASK_UNSUPP;
        if (!(flags & NFS4_ACL_DIR))
                ret &= ~NFS4_ACE_DELETE_CHILD;
        return ret;
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to