It works here.
10.0.0.1 is the NFS server where I have all the data.
10.0.0.2 is where I run FUSE and then re-export the FUSE filesystem as
NFS again :
On the server where I will FUSE mount the share, and then re-export it :
1, Mount the share locally using fuse-nfs on /mnt:
sudo ./fuse/fuse-nfs --allow-other --nfs-share=nfs://
10.0.0.1/foo
--mountpoint=/mnt
Then just verify that the share mounted just fine and that we can
access the data:
mount | grep fuse-nfs
fuse-nfs on /mnt type fuse.fuse-nfs
(rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other)
Looks good, we can see the mount.
ls /mnt
...
Looks good, I can see the content of the share.
2, Set up NFS so that we re-export the /mnt share
Adding this line to /etc/exports:
/mnt *(ro,insecure,no_root_squash,fsid=123)
Restart the kernel nfs server:
sudo /etc/init.d/nfs-kernel-server restart
3, Mount the NFS exported FUSE filesystem on the client:
On the client where I will mount the FUSE export:
Checking nfs with userspace
nfs-ls nfs://10..0.0.2/mnt
... the content of my share ...
Looks good. I could access the data in the exported FUSE filesystem
using nfs-ls (userspace nfs)
Now try mounting it on the client using the normal nfs client in the kernel:
sudo mount 10.0.0.2:/mnt /mnt
ls /mnt
... the data I expect ...
So it works for me at least.
I have kernel 3.18.0 but I it has been possible to export a FUSE
filesystem since at least ~6 years ago.
This project kind of depended on being able to export a FUSE
filesystem via NFS :
https://git.samba.org/?p=sahlberg/remote-cache.git;a=summary