xfs: improve xfs_forget_acl
[linux-2.6-microblaze.git] / fs / xfs / xfs_acl.c
index 52b9929..a06927d 100644 (file)
@@ -270,3 +270,19 @@ xfs_set_acl(struct inode *inode, struct posix_acl *acl, int type)
 
        return error;
 }
+
+/*
+ * Invalidate any cached ACLs if the user has bypassed the ACL interface.
+ * We don't validate the content whatsoever so it is caller responsibility to
+ * provide data in valid format and ensure i_mode is consistent.
+ */
+void
+xfs_forget_acl(
+       struct inode            *inode,
+       const char              *name)
+{
+       if (!strcmp(name, SGI_ACL_FILE))
+               forget_cached_acl(inode, ACL_TYPE_ACCESS);
+       else if (!strcmp(name, SGI_ACL_DEFAULT))
+               forget_cached_acl(inode, ACL_TYPE_DEFAULT);
+}