mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
'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
This commit is contained in:
+4
-1
@@ -6634,8 +6634,11 @@ share_mount_one(zfs_handle_t *zhp, int op, int flags, char *protocol,
|
||||
*/
|
||||
if (op == OP_MOUNT)
|
||||
return (0);
|
||||
if (op == OP_SHARE && !zfs_is_mounted(zhp, NULL))
|
||||
if (op == OP_SHARE && !zfs_is_mounted(zhp, NULL)) {
|
||||
/* also purge it from existing exports */
|
||||
zfs_unshareall_bypath(zhp, mountpoint);
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user