"Frank Batschulat (Home)" wrote:
> On Fri, 21 Aug 2009 00:20:48 +0200, Russ Weeks <rweeks at gmail.com> wrote:
> > I'd like to export a FUSE filesystem over NFS.  I'm working with the
> > fusexmp_fh filesystem, which is a really simple "loopback" filesystem
> > from the Linux FUSE project.
> >
> > I got the filesystem to compile and mount properly thanks to the
> > instructions on the Wiki.  Locally, everything looks good.  I can cd
> > to the mount point and see exactly what I expect.
> >
> > When I try to share the filesystem, I get this error:
> >
> > sharemgr add-share -s /tmp/fuse fuse-group
> > Failed to enable share for "nfs": system error
> >
> > Where fuse-group is configured for NFS. Sharing a regular directory,
> > ie. /tmp/blah, works fine.
> >
> > When I run the above command through truss, I see the following output
> > during invocation of nfs_enable_share (trimmed):
> >
> > /1 at 1:         -> libshare:sa_get_property(0x8097d48, 0x0, 0x30,
> > 0xfed96109)
> > /1 at 1:         <- libshare:sa_get_property() = 0
> > /1 at 1:         -> libc:exportfs(0x806fcb8, 0x80476a0, 0x30, 0xfed96109)
> > /1:     nfssys(2, 0x08047638)                           Err#89 ENOSYS
> >
> > When I try to share a regular directory, the nfssys call returns 0.
> >
> > Any advice here? I'm willing to do the legwork to put in a low-medium
> > effort fix, but if this is a fundamental problem with FUSE<->NFS I'd
> > like to know up front.
> 
> I bet when you dtrace the kernel exportfs syscall s entry exportfs()
> you'll find that it fails
> in treeclimb_export() because your underlaying FUSE file system does
> not implement VOP_FID(). 

AFAIK this means the "fuse" kernel module needs to implement support for
|VOP_FID()| and (optionally) allow FUSE userland drivers to implement
this functionality... right ?

----

Bye,
Roland

-- 
  __ .  . __
 (o.\ \/ /.o) roland.mainz at nrubsig.org
  \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
  /O /==\ O\  TEL +49 641 3992797
 (;O/ \/ \O;)

Reply via email to