xfs
[Top] [All Lists]

Re: [PATCH] Revised extended attributes interface

To: Daniel Phillips <phillips@xxxxxxxxxxxxxx>, Linus Torvalds <torvalds@xxxxxxxxxxxxx>, Alexander Viro <viro@xxxxxxxxxxxx>, Andi Kleen <ak@xxxxxxx>, Andreas Gruenbacher <ag@xxxxxxxxxxx>
Subject: Re: [PATCH] Revised extended attributes interface
From: Nathan Scott <nathans@xxxxxxx>
Date: Thu, 6 Dec 2001 16:41:31 +1100
Cc: linux-kernel@xxxxxxxxxxxxxxx, linux-fsdevel@xxxxxxxxxxxxxxx, linux-xfs@xxxxxxxxxxx
In-reply-to: <E16Boqr-0000m9-00@starship.berlin>; from phillips@bonn-fries.net on Thu, Dec 06, 2001 at 04:05:32AM +0100
References: <20011205143209.C44610@wobbly.melbourne.sgi.com> <E16Boqr-0000m9-00@starship.berlin>
Sender: owner-linux-xfs@xxxxxxxxxxx
User-agent: Mutt/1.2.5i
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


<Prev in Thread] Current Thread [Next in Thread>