Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I've got a self-written FUSE file system I mount on my NFS server on mountpoint /export/example/mount. Then I export a parent directory of the FUSE via NFS. The /etc/exports contains the options nohide,crossmnt,subtree_check,ro,no_root_squash and allows free access to everyone:

/export/example *(nohide,crossmnt,subtree_check,ro,no_root_squash)

I can mount this export on my NFS client and access it. As soon as I access the FUSE within the NFS my client hangs until I umount the NFS (and I need to use option -f to accomplish that).

I've tried mounting the FUSE as my working user and as root. The results are the same.

The server is running a Ubuntu 12.04, the client a SuSE 9.3. The FUSE is written in Python and works locally without any trouble. Only the export via NFS fails. I have no security restrictions as all this is on a private network with only trusted users.

Does anybody have an idea what could cause my trouble or (even better) how to solve the issue?

I've thought about replacing the NFS with SSHFS to work around the problem, but that does not work as the client system is too old to support SSHFS (as it is based on FUSE, and FUSE isn't supported).

share|improve this question

migrated from superuser.com Nov 26 '13 at 11:12

This question came from our site for computer enthusiasts and power users.

    
Did you try the allow_other option to sshfs mount? –  skarap Apr 12 at 16:37
    
Yes, I did. To no avail, unfortunately. But in the meantime we switched off the old hardware with the old system, so this question isn't interesting anymore. I should maybe close it ... ;-) –  Alfe Apr 14 at 9:27

2 Answers 2

Most Linux distributions ship with a kernel that does not allow exporting a FUSE mounted file system using NFSv2 or NFSv3. Your choices are: 1. Implement your file system in kernel space. 2. Export it in NFSv4, which would require an fsid=

I myself use 2. In the below illustration, commands start with # are run on server, commands start with $ are run on client.

This is my server configuration, as you can see I am exporting a FUSE mount point:

# mount | tail -n1
convmvfs on /mnt/gb2312 type fuse.convmvfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0)
# grep gb2312 /etc/exports 
/mnt/gb2312     192.168.0.0/16(no_subtree_check,fsid=0)

Here is what I did on my client:

$ sudo mount -t nfs4 server:/ /mnt/
$ ls /mnt
Downloads  IMAGES  Library  lost+found

To verify that your failure is caused by exporting fuse in NFS v2/v3, export that mount point specificly without NFS v4 (fsid), and see if you get an error:

# exportfs -a
exportfs: /mnt/gb2312 requires fsid= for NFS export

If on the server you export the mount point umounted, and mount it with fuse later, you should see in your log if you attempt to use nfs client:

# tail /var/log/syslog
Aug 18 03:54:31 server rpc.mountd[17183]: Cannot export /mnt/gb2312, possibly unsupported filesystem or fsid= required
Aug 18 04:00:52 server rpc.mountd[17183]: Caught signal 15, un-registering and exiting.
share|improve this answer

by default exporting submounts over nfs is turned off. The recommended course of action is to also export the submount and have the client mount it as well.

share|improve this answer
    
Yes, I know, but as I wrote I tried various combinations of the mount options which should allow exporting the contents of submounts. In fact, with plain mounted ISO images this works flawlessly. Only with my FUSE it fails. And I cannot mount that FUSE on the client because that host is so old it does not support FUSE. The whole idea of that FUSE-via-NFS is just to allow the client to access the features of that FUSE it cannot run itself. –  Alfe Dec 2 '13 at 8:50
    
You need to export /exports/example/mount and mount it from the client. –  hildred Dec 2 '13 at 8:55

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.