2010-12-26 13:57:08

by Marco Stornelli

[permalink] [raw]
Subject: Return value of generic xattr operations

Hi,

is it right that generic_setxattr & co. return -EOPNOTSUPP if there is a
namespace error? I mean, if the user try to set <my own namespace>.foo
attribute, the return value should be -EINVAL, isn't it? Operation not
supported means that extended attributes are not enabled or not
implemented by the fs. The man pages are not much clear about this
point. What do you think?

Marco


2010-12-26 21:15:38

by Olaf van der Spek

[permalink] [raw]
Subject: Re: Return value of generic xattr operations

On Sun, Dec 26, 2010 at 2:53 PM, Marco Stornelli
<[email protected]> wrote:
> Hi,
>
> is it right that generic_setxattr & co. return -EOPNOTSUPP if there is a
> namespace error? I mean, if the user try to set <my own namespace>.foo
> attribute, the return value should be -EINVAL, isn't it? Operation not

Why?
There are multiple errors and only one can be returned.

> supported means that extended attributes are not enabled or not
> implemented by the fs. The man pages are not much clear about this
> point. What do you think?

Olaf

2010-12-27 08:41:48

by Marco Stornelli

[permalink] [raw]
Subject: Re: Return value of generic xattr operations

Il 26/12/2010 22:15, Olaf van der Spek ha scritto:
> On Sun, Dec 26, 2010 at 2:53 PM, Marco Stornelli
> <[email protected]> wrote:
>> Hi,
>>
>> is it right that generic_setxattr & co. return -EOPNOTSUPP if there is a
>> namespace error? I mean, if the user try to set <my own namespace>.foo
>> attribute, the return value should be -EINVAL, isn't it? Operation not
>
> Why?
> There are multiple errors and only one can be returned.
>

Ok, but at least it should be return the most important. Man page said:
"If extended attributes are not supported by the file system, or are
disabled, errno is set to ENOTSUP.", but in this case this kind of error
is not really matching with this sentence, because the extended
attribute are supported by fs and they are enabled.

Marco