Description of Problem: exportfs -u fails to unexport a previously exported filesystem Version-Release number of selected component (if applicable): 0.3.1-12 How Reproducible: 100% Steps to Reproduce: 1. add "/mnt/cdrom *" to /etc/exports 2. exportfs -a 3. on client, "mount server:/mnt/cdrom /mnt/s-cdrom" 4. on client, "du /mnt/s-cdrom" 5. on client, "umount /mnt/s-cdrom" 6. on server, "exportfs -u client:/home/test" 7. on server, "umount /mnt/cdrom" Actual Results: step 7 fails because step 6 actually failed to remove the entry from the kernel's table, so the kernel still has (presumably the root inode) still open, preventing the umount from succeeding Expected Results: step 7 should succeed, because step 6 should tell the kernel to let go Additional Information: If (after step 7) you comment out the line added in step 1, then execute "exportfs -r", re-executing step 7 works as expected, so there is something done correctly by the "-r" path that is not being done in the "-u" path.
It appears as if mountd is honoring UMOUNT requests from clients, but not notifying the server's kernel that the exported directory is no longer in use. This is also reflected in /var/lib/nfs/rmtab, which is supposed to list those file systems which mountd currently thinks are mounted by clients. Your workaround ("exportfs -r") must force rpc.mountd to rebuild it's list and notify the kernel. I will notify the nfs-utils maintainers.
This defect is considered SHOULD-FIX for Fairfax.
The bug fell over the horizon due to manpower constraints, closing. If Fedora still fails to unexport, please refile.