In /etc/exports:
/tmp/test *(rw)
/dev/sda1
(ext4 filesystem) is mounted in /tmp/test
command to mount nfs:
mount -o vers=3 $HOST:/tmp/test $NFS_DIR
(where HOST is IP of nfs server, NFS_DIR is local mount point on client)
The first time, nfs mount success. And then I did unmount.
Then I command out the entry in /etc/exports(no nfs export), and do exportfs -r
.
Then I uncomment the /tmp/test entry in /etc/exports (same as before), and do exportfs -r
again
And I mount the nfs share by using the same command. But this time, the mount will hang and time out.
However, when I check the log of nfs, I got this:
/tmp and /tmp/test have same filehandle for *, using first
qword_eol: fflush failed: errno 22 (Invalid argument)
Cannot export /tmp, possibly unsupported filesystem or fsid= required"
The error complaining about export /tmp make sense because it is tmpfs.
But why /tmp and /tmp/test has to same file handle?
I know the issue is cause by /tmp and /tmp/test having the same file handle, so nfs returns the first one which is /tmp. What I want to exported is /tmp/test (ext4 fs), not /tmp (tmpfs).
The issue get solved by restart rpc.mountd.
- why /tmp /tmp/test get the same file handle?
- why restart rpc.mountd solves the issue?
- how to solve this issue without restart rpc.mounts?
/tmp
./tmp
cleaning things up. The OS rather assumes that things mounted under/tmp
are disposable, especially if old; you can lose a lot of a filesystem that way.