kill check_acl callback of generic_permission()
[deliverable/linux.git] / fs / reiserfs / xattr.c
index d78089690965b3540344ea8fafbd9403fe825cf8..ddc5301d2986eb09d1eb0ab201f34552ff2cb20e 100644 (file)
@@ -868,11 +868,17 @@ out:
        return err;
 }
 
-static int reiserfs_check_acl(struct inode *inode, int mask, unsigned int flags)
+int reiserfs_check_acl(struct inode *inode, int mask, unsigned int flags)
 {
        struct posix_acl *acl;
        int error = -EAGAIN; /* do regular unix permission checks by default */
 
+       /*
+        * Stat data v1 doesn't support ACLs.
+        */
+       if (get_inode_sd_version(inode) == STAT_DATA_V1)
+               return -EAGAIN;
+
        if (flags & IPERM_FLAG_RCU)
                return -ECHILD;
 
@@ -961,15 +967,7 @@ int reiserfs_permission(struct inode *inode, int mask, unsigned int flags)
        if (IS_PRIVATE(inode))
                return 0;
 
-#ifdef CONFIG_REISERFS_FS_XATTR
-       /*
-        * Stat data v1 doesn't support ACLs.
-        */
-       if (get_inode_sd_version(inode) != STAT_DATA_V1)
-               return generic_permission(inode, mask, flags,
-                                       reiserfs_check_acl);
-#endif
-       return generic_permission(inode, mask, flags, NULL);
+       return generic_permission(inode, mask, flags);
 }
 
 static int xattr_hide_revalidate(struct dentry *dentry, struct nameidata *nd)
This page took 0.0353 seconds and 5 git commands to generate.