diff options
author | Don Brady <[email protected]> | 2022-09-09 11:54:16 -0600 |
---|---|---|
committer | GitHub <[email protected]> | 2022-09-09 10:54:16 -0700 |
commit | ede037cda73675f42b1452187e8dd3438fafc220 (patch) | |
tree | faa6d73ad888591c98ffb9b962ca6d13c6feb695 /cmd/zfs | |
parent | 60d995727a19104a2832d475f5c0861ffbae2c97 (diff) |
Make zfs-share service resilient to stale exports
The are a few cases where stale entries in /etc/exports.d/zfs.exports
will cause the nfs-server service to fail when starting up.
Since the nfs-server startup consumes /etc/exports.d/zfs.exports, the
zfs-share service (which rebuilds the list of zfs exports) should run
before the nfs-server service.
To make the zfs-share service resilient to stale exports, this change
truncates the zfs config file as part of the zfs share -a operation.
Reviewed-by: Allan Jude <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Don Brady <[email protected]>
Closes #13775
Diffstat (limited to 'cmd/zfs')
-rw-r--r-- | cmd/zfs/zfs_main.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/cmd/zfs/zfs_main.c b/cmd/zfs/zfs_main.c index f1d686753..008f1bea0 100644 --- a/cmd/zfs/zfs_main.c +++ b/cmd/zfs/zfs_main.c @@ -7093,6 +7093,9 @@ share_mount(int op, int argc, char **argv) share_mount_state.sm_total = cb.cb_used; pthread_mutex_init(&share_mount_state.sm_lock, NULL); + /* For a 'zfs share -a' operation start with a clean slate. */ + zfs_truncate_shares(NULL); + /* * libshare isn't mt-safe, so only do the operation in parallel * if we're mounting. Additionally, the key-loading option must |