GFS2: gfs2_set_acl(): Cache "no acl" as well
authorAndreas Gruenbacher <agruenba@redhat.com>
Fri, 13 Feb 2015 18:16:37 +0000 (12:16 -0600)
committerBob Peterson <rpeterso@redhat.com>
Wed, 18 Mar 2015 17:41:57 +0000 (12:41 -0500)
When removing a default acl or setting an access acl that is entirely
represented in the file mode, we end up with acl == NULL in gfs2_set_acl(). In
that case, bring gfs2 in line with other file systems and cache the NULL acl
with set_cached_acl() instead of invalidating the cache with
forget_cached_acl().

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
fs/gfs2/acl.c

index 7b3143064af1130d22c14f66c8236785093c545a..1be3b061c05c921f60ddfebcce809875fe8de662 100644 (file)
@@ -110,11 +110,7 @@ int gfs2_set_acl(struct inode *inode, struct posix_acl *acl, int type)
        error = __gfs2_xattr_set(inode, name, data, len, 0, GFS2_EATYPE_SYS);
        if (error)
                goto out;
-
-       if (acl)
-               set_cached_acl(inode, type, acl);
-       else
-               forget_cached_acl(inode, type);
+       set_cached_acl(inode, type, acl);
 out:
        kfree(data);
        return error;