nfs: fix setting of ACLs on file creation.
authorNoah Massey <noah.massey@gmail.com>
Fri, 31 Jan 2014 02:31:12 +0000 (21:31 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Sat, 1 Feb 2014 01:36:07 +0000 (20:36 -0500)
nfs3_get_acl() tries to skip posix equivalent ACLs, but misinterprets
the return value of posix_acl_equiv_mode(). Fix it.

This is a regression introduced by
"nfs: use generic posix ACL infrastructure for v3 Posix ACLs"

CC: Christoph Hellwig <hch@infradead.org>
CC: linux-nfs@vger.kernel.org
CC: linux-fsdevel@vger.kernel.org
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
fs/nfs/nfs3acl.c

index 9a5ca03fa539fc5fb61ea4516b0ce0b6f4ae10ea..0851f852568da2c98eb8d8b83e460f5e3ec6bc04 100644 (file)
@@ -80,7 +80,7 @@ struct posix_acl *nfs3_get_acl(struct inode *inode, int type)
        }
 
        if (res.acl_access != NULL) {
-               if (posix_acl_equiv_mode(res.acl_access, NULL) ||
+               if ((posix_acl_equiv_mode(res.acl_access, NULL) == 0) ||
                    res.acl_access->a_count == 0) {
                        posix_acl_release(res.acl_access);
                        res.acl_access = NULL;