GFS2: Use forget_all_cached_acls()
authorSteven Whitehouse <swhiteho@redhat.com>
Fri, 2 Oct 2009 10:54:39 +0000 (11:54 +0100)
committerSteven Whitehouse <swhiteho@redhat.com>
Thu, 3 Dec 2009 11:45:37 +0000 (11:45 +0000)
Invalidate all the cached ACLs when we drop the glock.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
fs/gfs2/glops.c

index 6985eef06c392c79e4bd90340f60979776ecea1a..78554acc060562f66de530363a623616bb3c9732 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/buffer_head.h>
 #include <linux/gfs2_ondisk.h>
 #include <linux/bio.h>
+#include <linux/posix_acl.h>
 
 #include "gfs2.h"
 #include "incore.h"
@@ -184,8 +185,10 @@ static void inode_go_inval(struct gfs2_glock *gl, int flags)
        if (flags & DIO_METADATA) {
                struct address_space *mapping = gl->gl_aspace->i_mapping;
                truncate_inode_pages(mapping, 0);
-               if (ip)
+               if (ip) {
                        set_bit(GIF_INVALID, &ip->i_flags);
+                       forget_all_cached_acls(&ip->i_inode);
+               }
        }
 
        if (ip == GFS2_I(gl->gl_sbd->sd_rindex))