mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2026-05-22 02:27:36 +03:00
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 <allan@klarasystems.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Don Brady <don.brady@delphix.com> Closes #13775
This commit is contained in:
@@ -23,7 +23,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* Copyright (c) 2020 by Delphix. All rights reserved.
|
||||
* Copyright (c) 2020, 2022 by Delphix. All rights reserved.
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
@@ -195,6 +195,12 @@ start:
|
||||
return (SA_OK);
|
||||
}
|
||||
|
||||
static void
|
||||
nfs_truncate_shares(void)
|
||||
{
|
||||
nfs_reset_shares(ZFS_EXPORTS_LOCK, ZFS_EXPORTS_FILE);
|
||||
}
|
||||
|
||||
const sa_fstype_t libshare_nfs_type = {
|
||||
.enable_share = nfs_enable_share,
|
||||
.disable_share = nfs_disable_share,
|
||||
@@ -202,4 +208,5 @@ const sa_fstype_t libshare_nfs_type = {
|
||||
|
||||
.validate_shareopts = nfs_validate_shareopts,
|
||||
.commit_shares = nfs_commit_shares,
|
||||
.truncate_shares = nfs_truncate_shares,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user