"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;)