ovl: explain error values when removing acl from workdir
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
parent
6a45b3628c
commit
cb348edb6b
@ -832,6 +832,19 @@ retry:
|
|||||||
if (err)
|
if (err)
|
||||||
goto out_dput;
|
goto out_dput;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Try to remove POSIX ACL xattrs from workdir. We are good if:
|
||||||
|
*
|
||||||
|
* a) success (there was a POSIX ACL xattr and was removed)
|
||||||
|
* b) -ENODATA (there was no POSIX ACL xattr)
|
||||||
|
* c) -EOPNOTSUPP (POSIX ACL xattrs are not supported)
|
||||||
|
*
|
||||||
|
* There are various other error values that could effectively
|
||||||
|
* mean that the xattr doesn't exist (e.g. -ERANGE is returned
|
||||||
|
* if the xattr name is too long), but the set of filesystems
|
||||||
|
* allowed as upper are limited to "normal" ones, where checking
|
||||||
|
* for the above two errors is sufficient.
|
||||||
|
*/
|
||||||
err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_DEFAULT);
|
err = vfs_removexattr(work, XATTR_NAME_POSIX_ACL_DEFAULT);
|
||||||
if (err && err != -ENODATA && err != -EOPNOTSUPP)
|
if (err && err != -ENODATA && err != -EOPNOTSUPP)
|
||||||
goto out_dput;
|
goto out_dput;
|
||||||
|
Loading…
Reference in New Issue
Block a user