[Top] [All Lists]

Re: Portability of libattr

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: Portability of libattr
From: Russell Cattelan <cattelan@xxxxxxxxxxx>
Date: Fri, 11 Apr 2008 10:01:27 -0500
Cc: xfs@xxxxxxxxxxx, petr.pisar@xxxxxxxx
In-reply-to: <20080409185445.GA30834@xxxxxxxxxxxxx>
References: <20080409184103.GD20142@xxxxxxxxxxxxxxxxxxxxxx> <20080409185445.GA30834@xxxxxxxxxxxxx>
Sender: xfs-bounce@xxxxxxxxxxx
User-agent: Thunderbird (Macintosh/20070728)
Christoph Hellwig wrote:
On Wed, Apr 09, 2008 at 08:41:08PM +0200, petr.pisar@xxxxxxxx wrote:

I'm adding support for extended atributes into few applications.
Unfortunatetally API for EA manipulation is not standartized and every
operating system uses its own solution. I thought libattr from attr package
could help me. However attr seems running on Linux (and maybe IRIX) only.

Therefore I've decided to use libc functions from every system directly. I've
succesfully ported my code to Linux, IRIX and Darwin (Max OS X). Their AE
syscalls are very similar. However FreeBSD API is more different. Because I'm
extending more applications I need to share the code.

So, my qustions are: should I write my own library or should I extend libattr.
As I can understand libattr code it's designed to port IRIX application on
Linux. Am I right? Or are you going support more OS's in libattr? Or exists
here some similar library providing unified interface fro more systems?

Note: I'm not the maintainer of libattr, so I'm not the one to decide.

I think adding more systems is an excellent idea as it's a bit of a
porting layer already.  Russell will have to add FreeBSD support anyway
once he ports xfsdump to FreeBSD :)


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?

I thought the libattr code does compile on IRIX. There was an effort at one point to only
have one usespace code base that worked on both linux and irix.

I would be really cool if we got FreeBSD support into libattr.


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