[PATCH] xfs: return ENOSPC when trying to set more ACLs than XFS_ACL_MAX_ENTRIES
Eric Sandeen
sandeen at sandeen.net
Sun Nov 24 21:34:47 CST 2013
On 11/24/13, 9:36 AM, Jeff Liu wrote:
> From: Jie Liu <jeff.liu at oracle.com>
>
> We currently return EINVAL when trying to set more ACL entries than
> XFS_ACL_MAX_ENTRIES(), but it would be a bit more meaningful to return
> ENOSPC in this situation, because the later is used to indicate there
> is no more space to store new ACLs IMHO.
I'm not quite convinced that it's better; the user will get an
error string of "no space left on device" which is misleading too,
and I'd argue that it's no better than "invalid argument."
To me, I think it's not worth changing, but others may disagree.
(I guess looking at ext4, it uses ENOSPC for some similar constraints,
so maybe three is precedent for this)
The setxattr(2) man page says:
> If there is insufficient space remaining to store the extended
> attribute, errno is set to either ENOSPC
but it doesn't say space in _what_ ...
-Eric
> Signed-off-by: Jie Liu <jeff.liu at oracle.com>
> ---
> fs/xfs/xfs_acl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/xfs/xfs_acl.c b/fs/xfs/xfs_acl.c
> index 370eb3e..4e54a4d 100644
> --- a/fs/xfs/xfs_acl.c
> +++ b/fs/xfs/xfs_acl.c
> @@ -397,7 +397,7 @@ xfs_xattr_acl_set(struct dentry *dentry, const char *name,
> if (error)
> goto out_release;
>
> - error = -EINVAL;
> + error = -ENOSPC;
> if (acl->a_count > XFS_ACL_MAX_ENTRIES(XFS_M(inode->i_sb)))
> goto out_release;
>
>
More information about the xfs
mailing list