public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
* Question : Using libhandle from xfsprogs and xfs actions made "by handle"
@ 2010-05-05 13:54 DENIEL Philippe
  2010-05-06 20:35 ` Christoph Hellwig
  0 siblings, 1 reply; 2+ messages in thread
From: DENIEL Philippe @ 2010-05-05 13:54 UTC (permalink / raw)
  To: xfs

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

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Question : Using libhandle from xfsprogs and xfs actions made "by handle"
  2010-05-05 13:54 Question : Using libhandle from xfsprogs and xfs actions made "by handle" DENIEL Philippe
@ 2010-05-06 20:35 ` Christoph Hellwig
  0 siblings, 0 replies; 2+ messages in thread
From: Christoph Hellwig @ 2010-05-06 20:35 UTC (permalink / raw)
  To: DENIEL Philippe; +Cc: xfs

On Wed, May 05, 2010 at 03:54:59PM +0200, DENIEL Philippe wrote:
> 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 ?

For some reason the handle code currently rejects special files
(block/char/fifo) in open_by_handle.  I can't see any good reason for
that and plan to submit a patch to lift that restriction.  Except
for that libhandle is exactly what you want - there's various tools
that use it for that kind of work, the most prominent is
xfsdump/xfsrestore.

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-05-06 20:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-05 13:54 Question : Using libhandle from xfsprogs and xfs actions made "by handle" DENIEL Philippe
2010-05-06 20:35 ` Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox