xfs
[Top] [All Lists]

Re: Portability of libattr

To: xfs@xxxxxxxxxxx
Subject: Re: Portability of libattr
From: nscott@xxxxxxxxxx
Date: Sat, 12 Apr 2008 05:47:54 +1000 (EST)
Importance: Normal
In-reply-to: <20080411164044.GA6928@xxxxxxxxxxxxxxxxxxxxxx>
References: <20080409184103.GD20142@xxxxxxxxxxxxxxxxxxxxxx> <20080409185445.GA30834@xxxxxxxxxxxxx> <47FF7D47.40007@xxxxxxxxxxx> <20080411164044.GA6928@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: SquirrelMail/1.4.8-4.el4.centos
> On Fri, Apr 11, 2008 at 10:01:27AM -0500, Russell Cattelan wrote:
>> I have not looked closely at the FreeBSD EA stuff so I don't know how
>> different things are. I can't imagine they are that far off?
>>
> Unfortunatelly, I have no FreeBSD machine available now, but as I found in
> its
> manual pages, they have splitted the names space and the rest of the EA
> name.
> The namespaces are enumerated. So you can't just call

This part (at least) is the same as the IRIX API (on IRIX the namespaces
are also enumerated).

> getxattr("user.mime_type', ...). Also they support reading EA from any
> arbitrarry offset like Darwin. (Linux reads from first byte always).
> FreeBSD
> API is little more rich.

Hmm, supporting that is a bit of an issue (do you need to?) - neither
IRIX nor Linux allow offsets for attrs.

>> I thought the libattr code does compile on IRIX. There was an effort at

libattr is providing a mapping between Linux (and potential other APIs)
and the IRIX libc API - so, there is no need for it to compile on IRIX.

> Great. Could you tell me which of these two APIs are the standard
> interface?

libattr exports the IRIX interface.  There are no standards here.

> I'm a little confused about all the Linux code in libattr (like syscall
> numbers) because glibc-2.6.1 has already syscall wrappers. So If added

libattr predates the libc interfaces.

> support
> for Darwin of FreeBSD into libattr, which level should I implement?
> attr_get(3) or getxattr(2/3) which is still parto of libattr? In other
> words:
> Should I implement IRIX-styled API or the Linux-styled one?

I'd suggest IRIX style, since I expect that will be closer to other
platforms,
and was the original intent with libattr.  I imagine the biggest problem will
be the list operation, that is by far the most complex (and wierd, on IRIX).

cheers.

--
Nathan


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