diff options
author | Christoph Hellwig <hch@lst.de> | 2020-02-27 02:30:41 +0100 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2020-03-03 05:55:55 +0100 |
commit | 5a3930e27ef95893f039b9ec127a48139fcc8ca5 (patch) | |
tree | 9df5508abb02805575ac1b9be4a06bc59a8c0971 /fs/xfs/xfs_xattr.c | |
parent | xfs: lift cursor copy in/out into xfs_ioc_attr_list (diff) | |
download | linux-5a3930e27ef95893f039b9ec127a48139fcc8ca5.tar.xz linux-5a3930e27ef95893f039b9ec127a48139fcc8ca5.zip |
xfs: improve xfs_forget_acl
Move the function to xfs_acl.c and provide a proper stub for the
!CONFIG_XFS_POSIX_ACL case. Lift the flags check to the caller as it
nicely fits in there.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Chandan Rajendra <chandanrlinux@gmail.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Diffstat (limited to 'fs/xfs/xfs_xattr.c')
-rw-r--r-- | fs/xfs/xfs_xattr.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/fs/xfs/xfs_xattr.c b/fs/xfs/xfs_xattr.c index 260287552ad4..6e149fedd75a 100644 --- a/fs/xfs/xfs_xattr.c +++ b/fs/xfs/xfs_xattr.c @@ -39,28 +39,6 @@ xfs_xattr_get(const struct xattr_handler *handler, struct dentry *unused, return args.valuelen; } -void -xfs_forget_acl( - struct inode *inode, - const char *name, - int xflags) -{ - /* - * 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. - */ - if (xflags & ATTR_ROOT) { -#ifdef CONFIG_XFS_POSIX_ACL - 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); -#endif - } -} - static int xfs_xattr_set(const struct xattr_handler *handler, struct dentry *unused, struct inode *inode, const char *name, const void *value, @@ -83,8 +61,8 @@ xfs_xattr_set(const struct xattr_handler *handler, struct dentry *unused, args.flags |= ATTR_REPLACE; error = xfs_attr_set(&args); - if (!error) - xfs_forget_acl(inode, name, args.flags); + if (!error && (handler->flags & ATTR_ROOT)) + xfs_forget_acl(inode, name); return error; } |