Question : Using libhandle from xfsprogs and xfs actions made "by handle"

DENIEL Philippe philippe.deniel at CEA.FR
Wed May 5 08:54:59 CDT 2010


Hi,

I had a look at the stuff within xfsprogs and it really look pretty 
nice. One thing is of great interest to me : the libhandle.so library.
I am currently developing a NFS server running in userspace (see 
http://nfs-ganesha.sourceforge.net for details). As you know, the NFS 
protocol has a "handle based" semantics in the way it manages FS 
objects. All objects are identified by a unique filehandle or by their 
name and the parent's directory filehandle. The trouble is that libC 
does not include such "by handle" calls to manage FS, only the old 
fashioned POSIX API which is a "By path" API.
When looking at XFS, I saw there was "open_by_handle" and 
"path_to_handle" calls. This sounds very very good to me : this sounds 
like kind of bridge to build a handle-based API to address XFS. But so 
far, I am a bit stuck : for exporting XFS through my NFS server, I would 
need to do "by handle" everything that can be done through POSIX calls, 
open/read/write/close files, create files/directories/symlinks, erasing 
or moving files... and so on. I do not know if this is possible with the 
calls in libhandle.so. But if I had such handle based tools, I think I 
could make a nice NFS server on top of XFS (I did this kind of port for 
LUSTRE (which has a full handle based API) in my NFS server and I had 
really good performances). Can someone provide me with information about 
this ?

    Regards

       Philippe




More information about the xfs mailing list