]> git.proxmox.com Git - mirror_zfs.git/commit - cmd/zfs/zfs_main.c
'zfs share -a' should clean noauto exports
authorDon Brady <don.brady@delphix.com>
Thu, 20 Aug 2020 20:12:12 +0000 (14:12 -0600)
committerGitHub <noreply@github.com>
Thu, 20 Aug 2020 20:12:12 +0000 (13:12 -0700)
commit7bba1d404cd213223cfca017035f9ebf8683a8ef
tree6a8f38f9f35c23fb40f69273c30167d6a7d7e9de
parent3dc18995bd408d3030d2928ae88c4546bc40c2c8
'zfs share -a' should clean noauto exports

This is a follow on to PR #10688 where `zfs share -a` allows the
sharing of canmount=noauto datasets if they are mounted.  However,
when a dataset with canmount=noauto is not mounted, the command
should also purge any existing entries from the exports file.
Otherwise, after a reboot, the nfs server attempts to export the
underlying mountpath, not the dataset. This can lead to a hard hang
for existing client mounts.

Instead of just skipping the adding of an export if not mounted
and canmount=noauto, have it also remove an existing export of the
dataset so that, after a reboot, we don't export an unmounted dataset.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: George Wilson <gwilson@delphix.com>
Signed-off-by: Don Brady <don.brady@delphix.com>
Closes #10747
cmd/zfs/zfs_main.c
tests/runfiles/linux.run
tests/zfs-tests/tests/functional/cli_root/zfs_share/Makefile.am
tests/zfs-tests/tests/functional/cli_root/zfs_share/zfs_share_012_pos.ksh [new file with mode: 0755]