forked from Minki/linux
xfs: also remove cached ACLs when removing the underlying attr
We should not just invalidate the ACL when setting the underlying attribute, but also when removing it. The ioctl interface gets that right, but the normal xattr inteface skipped the xfs_forget_acl due to an early return. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
This commit is contained in:
parent
84fd081f8a
commit
8cde9f259c
@ -74,10 +74,11 @@ xfs_xattr_set(const struct xattr_handler *handler, struct dentry *unused,
|
||||
if (flags & XATTR_REPLACE)
|
||||
xflags |= ATTR_REPLACE;
|
||||
|
||||
if (!value)
|
||||
return xfs_attr_remove(ip, (unsigned char *)name, xflags);
|
||||
error = xfs_attr_set(ip, (unsigned char *)name,
|
||||
if (value)
|
||||
error = xfs_attr_set(ip, (unsigned char *)name,
|
||||
(void *)value, size, xflags);
|
||||
else
|
||||
error = xfs_attr_remove(ip, (unsigned char *)name, xflags);
|
||||
if (!error)
|
||||
xfs_forget_acl(inode, name, xflags);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user