The command "zfs share -a" does not make mountd reread the configuration file. One must send SIGHUP manually so that mountd notices changes in /etc/zfs/exports Fix: A workaround: you can use "killall -HUP mountd" after every "zfs share -a" command. How-To-Repeat: 1. Set the "sharenfs=on" property on some filesystem within zfs. 2. Say "zfs unshare -a" 3. Say "zfs share -a" You won't be able to see the shares (e.g. in "showmount -e") unless you send SIGHUP to mountd manually.
State Changed From-To: open->closed Imo this is intended behaviour, no where in the manual is stated that this should be possible etc. Also when you add new shares in NFS you should also restart mountd/sighup it, so that the new shares become visible, why should this be handled differently? Thanks for using FreeBSD though!
Responsible Changed From-To: pjd->freebsd-fs With pjd's permission, reassing ZFS-related PRs to freebsd-fs.
State Changed From-To: closed->open ZFS should send SIGHUP to mountd.
Responsible Changed From-To: freebsd-bugs->pjd I'll take this one.
State Changed From-To: open->closed I think the problem you were seeing was related to bug in pidfile(3), which was fixed some time ago. There was also another bug in detecting if file system is shared which I just fixed. Now the following commands should properly remove file systems from the 'showmount -e' output: # zfs unshare -a # zfs destroy foo/bar # zfs rename foo/bar foo/baz Thanks for the report!
Responsible Changed From-To: freebsd-fs->pjd I'll take this one.