diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-05-02 19:45:47 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-05-02 19:45:47 -0400 |
commit | 84695ffee7987ee1e581be4c4696e47e1a29403b (patch) | |
tree | 78ca09a96ecd6a6b5f4fae744c381968635af68d /fs/xfs/xfs_acl.c | |
parent | bf16200689118d19de1b8d2a3c314fc21f5dc7bb (diff) | |
parent | ce23e640133484eebc20ca7b7668388213e11327 (diff) | |
download | linux-stable-84695ffee7987ee1e581be4c4696e47e1a29403b.tar.gz linux-stable-84695ffee7987ee1e581be4c4696e47e1a29403b.tar.bz2 linux-stable-84695ffee7987ee1e581be4c4696e47e1a29403b.zip |
Merge getxattr prototype change into work.lookups
The rest of work.xattr stuff isn't needed for this branch
Diffstat (limited to 'fs/xfs/xfs_acl.c')
-rw-r--r-- | fs/xfs/xfs_acl.c | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/fs/xfs/xfs_acl.c b/fs/xfs/xfs_acl.c index 2d5df1f23bbc..b6e527b8eccb 100644 --- a/fs/xfs/xfs_acl.c +++ b/fs/xfs/xfs_acl.c @@ -158,22 +158,14 @@ xfs_get_acl(struct inode *inode, int type) if (error) { /* * If the attribute doesn't exist make sure we have a negative - * cache entry, for any other error assume it is transient and - * leave the cache entry as ACL_NOT_CACHED. + * cache entry, for any other error assume it is transient. */ - if (error == -ENOATTR) - goto out_update_cache; - acl = ERR_PTR(error); - goto out; + if (error != -ENOATTR) + acl = ERR_PTR(error); + } else { + acl = xfs_acl_from_disk(xfs_acl, len, + XFS_ACL_MAX_ENTRIES(ip->i_mount)); } - - acl = xfs_acl_from_disk(xfs_acl, len, XFS_ACL_MAX_ENTRIES(ip->i_mount)); - if (IS_ERR(acl)) - goto out; - -out_update_cache: - set_cached_acl(inode, type, acl); -out: kmem_free(xfs_acl); return acl; } |