]> git.proxmox.com Git - zfsonlinux.git/blobdiff - debian/patches/0012-fix-mount-do-not-truncate-shares-not-zfs-mount.patch
update zfs submodule to 2.2.3 and refresh patches
[zfsonlinux.git] / debian / patches / 0012-fix-mount-do-not-truncate-shares-not-zfs-mount.patch
diff --git a/debian/patches/0012-fix-mount-do-not-truncate-shares-not-zfs-mount.patch b/debian/patches/0012-fix-mount-do-not-truncate-shares-not-zfs-mount.patch
deleted file mode 100644 (file)
index ab01e62..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Stefan Lendl <1321542+stfl@users.noreply.github.com>
-Date: Fri, 12 Jan 2024 21:05:11 +0100
-Subject: [PATCH] fix(mount): do not truncate shares not zfs mount
-
-When running zfs share -a resetting the exports.d/zfs.exports makes
-sense the get a clean state.
-Truncating was also called with zfs mount which would not populate the
-file again.
-Add test to verify shares persist after mount -a.
-
-Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
-Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
-Closes #15607
-Closes #15660
----
- cmd/zfs/zfs_main.c                            |  3 +-
- tests/runfiles/common.run                     |  3 +-
- tests/zfs-tests/tests/Makefile.am             |  1 +
- .../zfs_share/zfs_share_after_mount.ksh       | 62 +++++++++++++++++++
- 4 files changed, 67 insertions(+), 2 deletions(-)
- create mode 100755 tests/zfs-tests/tests/functional/cli_root/zfs_share/zfs_share_after_mount.ksh
-
-diff --git a/cmd/zfs/zfs_main.c b/cmd/zfs/zfs_main.c
-index 9939f206a..f67f6114d 100644
---- a/cmd/zfs/zfs_main.c
-+++ b/cmd/zfs/zfs_main.c
-@@ -7234,7 +7234,8 @@ share_mount(int op, int argc, char **argv)
-               pthread_mutex_init(&share_mount_state.sm_lock, NULL);
-               /* For a 'zfs share -a' operation start with a clean slate. */
--              zfs_truncate_shares(NULL);
-+              if (op == OP_SHARE)
-+                      zfs_truncate_shares(NULL);
-               /*
-                * libshare isn't mt-safe, so only do the operation in parallel
-diff --git a/tests/runfiles/common.run b/tests/runfiles/common.run
-index f6e5367f5..a600140ea 100644
---- a/tests/runfiles/common.run
-+++ b/tests/runfiles/common.run
-@@ -316,7 +316,8 @@ tags = ['functional', 'cli_root', 'zfs_set']
- [tests/functional/cli_root/zfs_share]
- tests = ['zfs_share_001_pos', 'zfs_share_002_pos', 'zfs_share_003_pos',
-     'zfs_share_004_pos', 'zfs_share_006_pos', 'zfs_share_008_neg',
--    'zfs_share_010_neg', 'zfs_share_011_pos', 'zfs_share_concurrent_shares']
-+    'zfs_share_010_neg', 'zfs_share_011_pos', 'zfs_share_concurrent_shares',
-+    'zfs_share_after_mount']
- tags = ['functional', 'cli_root', 'zfs_share']
- [tests/functional/cli_root/zfs_snapshot]
-diff --git a/tests/zfs-tests/tests/Makefile.am b/tests/zfs-tests/tests/Makefile.am
-index c20b428db..3798194f0 100644
---- a/tests/zfs-tests/tests/Makefile.am
-+++ b/tests/zfs-tests/tests/Makefile.am
-@@ -912,6 +912,7 @@ nobase_dist_datadir_zfs_tests_tests_SCRIPTS += \
-       functional/cli_root/zfs_share/zfs_share_012_pos.ksh \
-       functional/cli_root/zfs_share/zfs_share_013_pos.ksh \
-       functional/cli_root/zfs_share/zfs_share_concurrent_shares.ksh \
-+      functional/cli_root/zfs_share/zfs_share_after_mount.ksh \
-       functional/cli_root/zfs_snapshot/cleanup.ksh \
-       functional/cli_root/zfs_snapshot/setup.ksh \
-       functional/cli_root/zfs_snapshot/zfs_snapshot_001_neg.ksh \
-diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_share/zfs_share_after_mount.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_share/zfs_share_after_mount.ksh
-new file mode 100755
-index 000000000..0d4b66ea8
---- /dev/null
-+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_share/zfs_share_after_mount.ksh
-@@ -0,0 +1,62 @@
-+#!/bin/ksh -p
-+#
-+# CDDL HEADER START
-+#
-+# The contents of this file are subject to the terms of the
-+# Common Development and Distribution License (the "License").
-+# You may not use this file except in compliance with the License.
-+#
-+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
-+# or https://opensource.org/licenses/CDDL-1.0.
-+# See the License for the specific language governing permissions
-+# and limitations under the License.
-+#
-+# When distributing Covered Code, include this CDDL HEADER in each
-+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
-+# If applicable, add the following below this CDDL HEADER, with the
-+# fields enclosed by brackets "[]" replaced with your own identifying
-+# information: Portions Copyright [yyyy] [name of copyright owner]
-+#
-+# CDDL HEADER END
-+#
-+
-+#
-+# Copyright (c) 2023 by Proxmox. All rights reserved.
-+#
-+
-+. $STF_SUITE/include/libtest.shlib
-+
-+# DESCRIPTION:
-+# Verify that nfs shares persist after zfs mount -a
-+#
-+# STRATEGY:
-+# 1. Verify that the filesystem is not shared.
-+# 2. Enable the 'sharenfs' property
-+# 3. Verify filesystem is shared
-+# 4. Invoke 'zfs mount -a'
-+# 5. Verify filesystem is still shared
-+
-+verify_runnable "global"
-+
-+function cleanup
-+{
-+      log_must zfs set sharenfs=off $TESTPOOL/$TESTFS
-+      is_shared $TESTPOOL/$TESTFS && \
-+              log_must unshare_fs $TESTPOOL/$TESTFS
-+      log_must zfs share -a
-+}
-+
-+
-+log_onexit cleanup
-+
-+cleanup
-+
-+log_must zfs set sharenfs="on" $TESTPOOL/$TESTFS
-+log_must is_shared $TESTPOOL/$TESTFS
-+log_must is_exported $TESTPOOL/$TESTFS
-+
-+log_must zfs mount -a
-+log_must is_shared $TESTPOOL/$TESTFS
-+log_must is_exported $TESTPOOL/$TESTFS
-+
-+log_pass "Verify that nfs shares persist after zfs mount -a"