update zfs submodule to 2.1.7 and refresh patches

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
This commit is contained in:
Stoiko Ivanov 2022-12-02 17:32:51 +01:00 committed by Thomas Lamprecht
parent 0b16d88d9c
commit 8e0b77bbc4
8 changed files with 4 additions and 158 deletions

View File

@ -14,7 +14,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in
index d3c083f7e..b1c8c7b9d 100644
index 598ef501b..e4f3a70c1 100644
--- a/etc/systemd/system/zfs-import-scan.service.in
+++ b/etc/systemd/system/zfs-import-scan.service.in
@@ -13,7 +13,7 @@ ConditionPathIsDirectory=/sys/module/zfs

View File

@ -31,7 +31,7 @@ index e4056a92c..030611419 100644
enable zfs-mount.service
enable zfs-share.service
diff --git a/etc/systemd/system/Makefile.am b/etc/systemd/system/Makefile.am
index 5e65e1db4..8e6baeb68 100644
index 35f833de5..af3ae597c 100644
--- a/etc/systemd/system/Makefile.am
+++ b/etc/systemd/system/Makefile.am
@@ -7,6 +7,7 @@ systemdunit_DATA = \

View File

@ -26,7 +26,7 @@ Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/cmd/arc_summary/arc_summary3 b/cmd/arc_summary/arc_summary3
index 7b28012ed..fe6a6d9e2 100755
index 301c485b3..ac46f5843 100755
--- a/cmd/arc_summary/arc_summary3
+++ b/cmd/arc_summary/arc_summary3
@@ -617,13 +617,13 @@ def section_arc(kstats_dict):

View File

@ -1,74 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Damian Szuberski <szuberskidamian@gmail.com>
Date: Tue, 12 Apr 2022 00:51:23 +0200
Subject: [PATCH] initramfs: use `mount.zfs` instead of `mount`
A followup to d7a67402a85252e163aa8a9b69e7eda499db8c61
For `mount -t zfs -o opts ds mp` command line
some implementations of `mount(8)`, e. g. Busybox in Debian
work as follows:
```
newfstatat(AT_FDCWD, "ds", 0x7fff826f4ab0, 0) = -1
mount("ds", "mp", "zfs", MS_SILENT, NULL) = 0
```
The logic above skips completely `mount.zfs` and prevents us
from reading filesystem properties and applying mount options.
For comparison, the coreutils `mount(8)` implementation does:
```
openat(AT_FDCWD, "/proc/filesystems", O_RDONLY|O_CLOEXEC) = 3
// figure out that zfs is a `nodev` filesystem and look for a helper
newfstatat(AT_FDCWD, "/sbin/mount.zfs" ...) = 0
execve("/sbin/mount.zfs" ...) = 0
```
Using `mount.zfs` in initramfs would help circumvent deficiencies
of some of `mount(8)` implementations. `mount -t zfs` translates
to `mount.zfs` invocation, except for cases when explicitly disabled
by `-i`.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: szubersk <szuberskidamian@gmail.com>
Closes #13305
(cherry picked from commit 35d81a75a8c13e011e19fd12cf553d9c5849386e)
(cherry picked from commit 4d22befde60087cbc6174122863353903df1d935)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
contrib/initramfs/scripts/zfs | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/contrib/initramfs/scripts/zfs b/contrib/initramfs/scripts/zfs
index 814547b6f..9169adf5f 100644
--- a/contrib/initramfs/scripts/zfs
+++ b/contrib/initramfs/scripts/zfs
@@ -326,7 +326,7 @@ mount_fs()
# Need the _original_ datasets mountpoint!
mountpoint=$(get_fs_value "$fs" mountpoint)
- ZFS_CMD="mount -o zfsutil -t zfs"
+ ZFS_CMD="mount.zfs -o zfsutil"
if [ "$mountpoint" = "legacy" ] || [ "$mountpoint" = "none" ]; then
# Can't use the mountpoint property. Might be one of our
# clones. Check the 'org.zol:mountpoint' property set in
@@ -349,7 +349,7 @@ mount_fs()
# If it's not a legacy filesystem, it can only be a
# native one...
if [ "$mountpoint" = "legacy" ]; then
- ZFS_CMD="mount -t zfs"
+ ZFS_CMD="mount.zfs"
fi
fi
@@ -915,7 +915,7 @@ mountroot()
echo " not specified on the kernel command line."
echo ""
echo "Manually mount the root filesystem on $rootmnt and then exit."
- echo "Hint: Try: mount -o zfsutil -t zfs ${ZFS_RPOOL-rpool}/ROOT/system $rootmnt"
+ echo "Hint: Try: mount.zfs -o zfsutil ${ZFS_RPOOL-rpool}/ROOT/system $rootmnt"
shell
fi

View File

@ -1,37 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= <nabijaczleweli@nabijaczleweli.xyz>
Date: Thu, 13 Oct 2022 00:29:21 +0200
Subject: [PATCH] etc: mask zfs-load-key.service
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Otherwise, systemd-sysv-generator will generate a service equivalent
that breaks the boot: under systemd this is covered by
zfs-mount-generator
We already do this for zfs-import.service, and other init scripts are
suppressed automatically by the "actual" .service files
Fixes: commit f04b97620059d08b37d9e80ada397e742bb2f311 ("Add init script
to load keys")
Reviewed-by: George Melikov <mail@gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
Closes #14010
Closes #14019
(cherry picked from commit 8cf59e97c4fc7b70723313953ceb0f777ca3bcdf)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
etc/systemd/system/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/etc/systemd/system/Makefile.am b/etc/systemd/system/Makefile.am
index 8e6baeb68..af3ae597c 100644
--- a/etc/systemd/system/Makefile.am
+++ b/etc/systemd/system/Makefile.am
@@ -23,3 +23,4 @@ SUBSTFILES += $(systemdpreset_DATA) $(systemdunit_DATA)
install-data-hook:
$(MKDIR_P) "$(DESTDIR)$(systemdunitdir)"
ln -sf /dev/null "$(DESTDIR)$(systemdunitdir)/zfs-import.service"
+ ln -sf /dev/null "$(DESTDIR)$(systemdunitdir)/zfs-load-key.service"

View File

@ -1,40 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Richard Yao <richard.yao@alumni.stonybrook.edu>
Date: Wed, 12 Oct 2022 18:47:39 -0400
Subject: [PATCH] kcfpool_alloc() should have its argument list marked void
This error occurred when building on Gentoo with debugging enabled:
zfs-kmod-2.1.6/work/zfs-2.1.6/module/icp/core/kcf_sched.c:1277:14:
error: a function declaration without a prototype is deprecated
in all versions of C [-Werror,-Wstrict-prototypes]
kcfpool_alloc()
^
void
1 error generated.
This function is not present in master.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Closes #14023
(cherry picked from commit b0bc882395ed37f60cf9612250cb99b1322cd458)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
module/icp/core/kcf_sched.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/module/icp/core/kcf_sched.c b/module/icp/core/kcf_sched.c
index 81fd15f8e..fa44a4dbf 100644
--- a/module/icp/core/kcf_sched.c
+++ b/module/icp/core/kcf_sched.c
@@ -1274,7 +1274,7 @@ kcf_aop_done(kcf_areq_node_t *areq, int error)
* Allocate the thread pool and initialize all the fields.
*/
static void
-kcfpool_alloc()
+kcfpool_alloc(void)
{
kcfpool = kmem_alloc(sizeof (kcf_pool_t), KM_SLEEP);

View File

@ -9,6 +9,3 @@
0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
0010-arcstat-Fix-integer-division-with-python3.patch
0011-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch
0012-initramfs-use-mount.zfs-instead-of-mount.patch
0013-etc-mask-zfs-load-key.service.patch
0014-kcfpool_alloc-should-have-its-argument-list-marked-v.patch

@ -1 +1 @@
Subproject commit 6a6bd493988c75331deab06e5352a9bed035a87d
Subproject commit 21bd7661334cd865d17934bebbcaf8d3356279ee