Re: [PATCH] Revised extended attributes interface

Nathan Scott
2001-12-06T05:43:32Z

On Thu, Dec 06, 2001 at 04:05:32AM +0100, Daniel Phillips wrote:
> Hi Nathan,
>

hey there.

> I still don't like the class parsing inside the kernel, it's hard to see
> what is good about that.

I guess it ultimately comes down to simplicity. The IRIX interfaces
have this separation of name and namespace - each operation has to
indicate which namespace is to be used. That becomes very messy when
you wish to work with multiple attribute names and namespaces at once.
Since the namespace is intimately tied to the name anyway, this idea
of specifying the two components together provides very clean APIs.

The term "parsing" is a bit of an overstatement too. We're talking
strncmp() complexity here, not lex/yacc. ;) And its not clear that
you can get out of doing that level of parsing in the kernel anyway
(unless you go for a binary namespace representation, and that's a
real can of worms).

> Is there a difference between these two?:
>
> long sys_setxattr(char *path, char *name, void *value, size_t size, int flags)
> long sys_lsetxattr(char *path, char *name, void *value, size_t size, int flags)
>

Yes, definately. The easiest reason - there are filesystems which
support extended attributes on symlinks already (XFS does), coming
from other operating systems, and there should be a way to get at
that information too.

cheers.

--
Nathan