public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH zfsonlinux/stable-bookworm] update submodule and patches to 2.2.9
@ 2025-11-24 17:14 Stoiko Ivanov
  0 siblings, 0 replies; only message in thread
From: Stoiko Ivanov @ 2025-11-24 17:14 UTC (permalink / raw)
  To: pve-devel

ZFS released another version for the 2.2 series - containing quite a
few fixes for kernel compatibility and fixes for issues also present
in 2.3.x

As we want to keep ZFS 2.2 on PVE/PMG 8.X and PBS 3.X this was applied
and tested with our 6.8 kernel.

The dropped backport got addressed by an independent porting of the
patch.

minimally tested on two VMs running PVE 8.4 with this added to the 6.8
kernel.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
 ...META-and-DCH-consistency-in-autoconf.patch |   2 +-
 .../0002-always-load-ZFS-module-on-boot.patch |   2 +-
 ...o-the-zed-binary-on-the-systemd-unit.patch |   2 +-
 ...ith-d-dev-disk-by-id-in-scan-service.patch |   2 +-
 debian/patches/0005-Enable-zed-emails.patch   |   2 +-
 .../0006-dont-symlink-zed-scripts.patch       |   2 +-
 ...md-unit-for-importing-specific-pools.patch |   6 +-
 ...-move-manpage-arcstat-1-to-arcstat-8.patch |   4 +-
 ...-guard-access-to-freshly-introduced-.patch |   4 +-
 ...runcate_shares-without-etc-exports.d.patch |   2 +-
 ...hten-bounds-for-noalloc-stat-availab.patch |   2 +-
 ...kport-enforce-arc_dnode_limit-to-2.2.patch | 207 ------------------
 debian/patches/series                         |   1 -
 upstream                                      |   2 +-
 14 files changed, 16 insertions(+), 224 deletions(-)
 delete mode 100644 debian/patches/0012-backport-enforce-arc_dnode_limit-to-2.2.patch

diff --git a/debian/patches/0001-Check-for-META-and-DCH-consistency-in-autoconf.patch b/debian/patches/0001-Check-for-META-and-DCH-consistency-in-autoconf.patch
index 504bb9987..41fa5b583 100644
--- a/debian/patches/0001-Check-for-META-and-DCH-consistency-in-autoconf.patch
+++ b/debian/patches/0001-Check-for-META-and-DCH-consistency-in-autoconf.patch
@@ -10,7 +10,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  1 file changed, 29 insertions(+), 5 deletions(-)
 
 diff --git a/config/zfs-meta.m4 b/config/zfs-meta.m4
-index 20064a0fb..4d5f545ad 100644
+index 20064a0fb5957288640494bd6a640942796050b4..4d5f545adc23c3c97604b7a1ac47e9711c81e9fd 100644
 --- a/config/zfs-meta.m4
 +++ b/config/zfs-meta.m4
 @@ -1,9 +1,10 @@
diff --git a/debian/patches/0002-always-load-ZFS-module-on-boot.patch b/debian/patches/0002-always-load-ZFS-module-on-boot.patch
index 6b1e068b1..87133b7f5 100644
--- a/debian/patches/0002-always-load-ZFS-module-on-boot.patch
+++ b/debian/patches/0002-always-load-ZFS-module-on-boot.patch
@@ -19,7 +19,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/etc/modules-load.d/zfs.conf b/etc/modules-load.d/zfs.conf
-index 44e1bb3ed..7509b03cb 100644
+index 44e1bb3ed906b18eaafb6376471380b669590357..7509b03cb7dd8f326db514841f3f90d47021caa7 100644
 --- a/etc/modules-load.d/zfs.conf
 +++ b/etc/modules-load.d/zfs.conf
 @@ -1,3 +1,3 @@
diff --git a/debian/patches/0003-Fix-the-path-to-the-zed-binary-on-the-systemd-unit.patch b/debian/patches/0003-Fix-the-path-to-the-zed-binary-on-the-systemd-unit.patch
index fa365df58..51f3e4e24 100644
--- a/debian/patches/0003-Fix-the-path-to-the-zed-binary-on-the-systemd-unit.patch
+++ b/debian/patches/0003-Fix-the-path-to-the-zed-binary-on-the-systemd-unit.patch
@@ -13,7 +13,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/etc/systemd/system/zfs-zed.service.in b/etc/systemd/system/zfs-zed.service.in
-index be2fc6734..7606604ec 100644
+index be2fc67348f937b074554377f46d51ef81ef5105..7606604ec0251a1239e078dc15fd969a584bb843 100644
 --- a/etc/systemd/system/zfs-zed.service.in
 +++ b/etc/systemd/system/zfs-zed.service.in
 @@ -5,7 +5,7 @@ ConditionPathIsDirectory=/sys/module/zfs
diff --git a/debian/patches/0004-import-with-d-dev-disk-by-id-in-scan-service.patch b/debian/patches/0004-import-with-d-dev-disk-by-id-in-scan-service.patch
index 7ea61c811..d551dc595 100644
--- a/debian/patches/0004-import-with-d-dev-disk-by-id-in-scan-service.patch
+++ b/debian/patches/0004-import-with-d-dev-disk-by-id-in-scan-service.patch
@@ -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 c5dd45d87..1c792edf0 100644
+index c5dd45d87e683bd78d0d09c506f5b3db179edf2e..1c792edf054271560ec482b0ed8eab8e7b900253 100644
 --- a/etc/systemd/system/zfs-import-scan.service.in
 +++ b/etc/systemd/system/zfs-import-scan.service.in
 @@ -14,7 +14,7 @@ ConditionPathIsDirectory=/sys/module/zfs
diff --git a/debian/patches/0005-Enable-zed-emails.patch b/debian/patches/0005-Enable-zed-emails.patch
index c3ccdecd7..ae168612b 100644
--- a/debian/patches/0005-Enable-zed-emails.patch
+++ b/debian/patches/0005-Enable-zed-emails.patch
@@ -13,7 +13,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
-index 859c6f9cb..9d1ee1560 100644
+index 859c6f9cb662bf1dc9edb23073b06c885a39ef5b..9d1ee15602c57c0e3b099ec6fdfe1d2d3b939d51 100644
 --- a/cmd/zed/zed.d/zed.rc
 +++ b/cmd/zed/zed.d/zed.rc
 @@ -41,7 +41,7 @@ ZED_EMAIL_ADDR="root"
diff --git a/debian/patches/0006-dont-symlink-zed-scripts.patch b/debian/patches/0006-dont-symlink-zed-scripts.patch
index 2591e8604..eeb8791df 100644
--- a/debian/patches/0006-dont-symlink-zed-scripts.patch
+++ b/debian/patches/0006-dont-symlink-zed-scripts.patch
@@ -32,7 +32,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/cmd/zed/zed.d/Makefile.am b/cmd/zed/zed.d/Makefile.am
-index 093a04c46..e5e735d00 100644
+index 093a04c4636a7455f8ca4b2644f79967736d6233..e5e735d0013a6a20120ff9529a9275557cf88713 100644
 --- a/cmd/zed/zed.d/Makefile.am
 +++ b/cmd/zed/zed.d/Makefile.am
 @@ -50,7 +50,7 @@ zed-install-data-hook:
diff --git a/debian/patches/0007-Add-systemd-unit-for-importing-specific-pools.patch b/debian/patches/0007-Add-systemd-unit-for-importing-specific-pools.patch
index 0600296fb..d9fa32321 100644
--- a/debian/patches/0007-Add-systemd-unit-for-importing-specific-pools.patch
+++ b/debian/patches/0007-Add-systemd-unit-for-importing-specific-pools.patch
@@ -23,7 +23,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  create mode 100644 etc/systemd/system/zfs-import@.service.in
 
 diff --git a/etc/Makefile.am b/etc/Makefile.am
-index 7187762d3..de131dc87 100644
+index 7187762d380296981b0c440824676f8e47355816..de131dc87952e0668ef9d2b5b951634c939bfff5 100644
 --- a/etc/Makefile.am
 +++ b/etc/Makefile.am
 @@ -54,6 +54,7 @@ dist_systemdpreset_DATA = \
@@ -35,7 +35,7 @@ index 7187762d3..de131dc87 100644
  	%D%/systemd/system/zfs-mount.service \
  	%D%/systemd/system/zfs-scrub-monthly@.timer \
 diff --git a/etc/systemd/system/50-zfs.preset b/etc/systemd/system/50-zfs.preset
-index e4056a92c..030611419 100644
+index e4056a92cd985380aa7346f4b291e4c3f1446fee..030611419816c83bcb86fc9c23d31855014eb914 100644
 --- a/etc/systemd/system/50-zfs.preset
 +++ b/etc/systemd/system/50-zfs.preset
 @@ -1,6 +1,7 @@
@@ -48,7 +48,7 @@ index e4056a92c..030611419 100644
  enable zfs-share.service
 diff --git a/etc/systemd/system/zfs-import@.service.in b/etc/systemd/system/zfs-import@.service.in
 new file mode 100644
-index 000000000..5bd19fb79
+index 0000000000000000000000000000000000000000..5bd19fb795e2b5554b3932e0b84b2668c2dcac51
 --- /dev/null
 +++ b/etc/systemd/system/zfs-import@.service.in
 @@ -0,0 +1,18 @@
diff --git a/debian/patches/0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch b/debian/patches/0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
index 9a4aea56e..7cbec0b6e 100644
--- a/debian/patches/0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
+++ b/debian/patches/0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
@@ -15,7 +15,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  rename man/{man1/arcstat.1 => man8/arcstat.8} (99%)
 
 diff --git a/man/Makefile.am b/man/Makefile.am
-index 43bb014dd..a9293468a 100644
+index 43bb014ddd32dbb6df372b27ffa76135d0f9b183..a9293468af03784657c49e5f43f5319b9dfcda8c 100644
 --- a/man/Makefile.am
 +++ b/man/Makefile.am
 @@ -2,7 +2,6 @@ dist_noinst_man_MANS = \
@@ -38,7 +38,7 @@ diff --git a/man/man1/arcstat.1 b/man/man8/arcstat.8
 similarity index 99%
 rename from man/man1/arcstat.1
 rename to man/man8/arcstat.8
-index 82358fa68..a8fb55498 100644
+index 82358fa686b948755ec8911c3e761de7b77904ee..a8fb55498dce7f1a598c844e04d3c048337d0513 100644
 --- a/man/man1/arcstat.1
 +++ b/man/man8/arcstat.8
 @@ -13,7 +13,7 @@
diff --git a/debian/patches/0009-arc-stat-summary-guard-access-to-freshly-introduced-.patch b/debian/patches/0009-arc-stat-summary-guard-access-to-freshly-introduced-.patch
index 75e68c895..4d89d7f32 100644
--- a/debian/patches/0009-arc-stat-summary-guard-access-to-freshly-introduced-.patch
+++ b/debian/patches/0009-arc-stat-summary-guard-access-to-freshly-introduced-.patch
@@ -38,7 +38,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  2 files changed, 90 insertions(+), 90 deletions(-)
 
 diff --git a/cmd/arc_summary b/cmd/arc_summary
-index 100fb1987..30f5d23e9 100755
+index 100fb1987a8bf7e2c3a7601b1d1c7a9406a5557b..30f5d23e92ae09c18500b034da14bb11683a7299 100755
 --- a/cmd/arc_summary
 +++ b/cmd/arc_summary
 @@ -551,21 +551,21 @@ def section_arc(kstats_dict):
@@ -307,7 +307,7 @@ index 100fb1987..30f5d23e9 100755
      print()
      prt_1('L2ARC breakdown:', f_hits(l2_access_total))
 diff --git a/cmd/arcstat.in b/cmd/arcstat.in
-index c4f10a1d6..bf47ec90e 100755
+index c4f10a1d6d3b28eabf38aeef72d3ced351e3604f..bf47ec90e4fd722beddc5b098f6b8f7d5d5b85be 100755
 --- a/cmd/arcstat.in
 +++ b/cmd/arcstat.in
 @@ -510,7 +510,7 @@ def calculate():
diff --git a/debian/patches/0010-Fix-nfs_truncate_shares-without-etc-exports.d.patch b/debian/patches/0010-Fix-nfs_truncate_shares-without-etc-exports.d.patch
index 3fa72205d..774d89ec9 100644
--- a/debian/patches/0010-Fix-nfs_truncate_shares-without-etc-exports.d.patch
+++ b/debian/patches/0010-Fix-nfs_truncate_shares-without-etc-exports.d.patch
@@ -36,7 +36,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  1 file changed, 18 insertions(+)
 
 diff --git a/lib/libshare/os/linux/nfs.c b/lib/libshare/os/linux/nfs.c
-index 004946b0c..3dce81840 100644
+index 004946b0cfe401ece53d45c4923b665733482a52..3dce818400fc7a5088ab2e86166c5346b961c50c 100644
 --- a/lib/libshare/os/linux/nfs.c
 +++ b/lib/libshare/os/linux/nfs.c
 @@ -47,6 +47,7 @@
diff --git a/debian/patches/0011-zpool-status-tighten-bounds-for-noalloc-stat-availab.patch b/debian/patches/0011-zpool-status-tighten-bounds-for-noalloc-stat-availab.patch
index 29c7f9abb..cbe1611a2 100644
--- a/debian/patches/0011-zpool-status-tighten-bounds-for-noalloc-stat-availab.patch
+++ b/debian/patches/0011-zpool-status-tighten-bounds-for-noalloc-stat-availab.patch
@@ -51,7 +51,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
  1 file changed, 2 insertions(+), 1 deletion(-)
 
 diff --git a/cmd/zpool/zpool_main.c b/cmd/zpool/zpool_main.c
-index ed0b8d7a1..f3acc49d0 100644
+index ed0b8d7a12d75a7c8745311fb53d0b82db06a755..f3acc49d027f3c5e858dc08826a05a08517bf223 100644
 --- a/cmd/zpool/zpool_main.c
 +++ b/cmd/zpool/zpool_main.c
 @@ -2663,7 +2663,8 @@ print_status_config(zpool_handle_t *zhp, status_cbdata_t *cb, const char *name,
diff --git a/debian/patches/0012-backport-enforce-arc_dnode_limit-to-2.2.patch b/debian/patches/0012-backport-enforce-arc_dnode_limit-to-2.2.patch
deleted file mode 100644
index 26c0dface..000000000
--- a/debian/patches/0012-backport-enforce-arc_dnode_limit-to-2.2.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Stoiko Ivanov <s.ivanov@proxmox.com>
-Date: Mon, 28 Jul 2025 15:16:46 +0200
-Subject: [PATCH] backport enforce arc_dnode_limit to 2.2
-
-This patch is a backport of  a7a144e65 ("enforce arc_dnode_limit")
-for the 2.2 branch.
-
-back-ported from commit a7a144e655850b4160943e4ba315eb9a5dc2b2fe
-working around changes from:
-55427add3 ("Several improvements to ARC shrinking (#16197)")
-5b9f3b766 ("Soften pruning threshold on not evictable metadata")
-which are present in 2.2.3, but not in 2.2.8
-
-Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
----
- include/sys/arc_impl.h           |  2 +-
- module/os/linux/zfs/zfs_vfsops.c | 65 ++++++++++++++++++++++++++++++++
- module/zfs/arc.c                 | 27 ++++++++-----
- 3 files changed, 83 insertions(+), 11 deletions(-)
-
-diff --git a/include/sys/arc_impl.h b/include/sys/arc_impl.h
-index defebe3b2fbbdc8b1c901108f19bde8f12ea2175..36cd83e83358e123980909a903854d573531d4b6 100644
---- a/include/sys/arc_impl.h
-+++ b/include/sys/arc_impl.h
-@@ -952,7 +952,7 @@ typedef struct arc_sums {
- 	wmsum_t arcstat_data_size;
- 	wmsum_t arcstat_metadata_size;
- 	wmsum_t arcstat_dbuf_size;
--	wmsum_t arcstat_dnode_size;
-+	aggsum_t arcstat_dnode_size;
- 	wmsum_t arcstat_bonus_size;
- 	wmsum_t arcstat_l2_hits;
- 	wmsum_t arcstat_l2_misses;
-diff --git a/module/os/linux/zfs/zfs_vfsops.c b/module/os/linux/zfs/zfs_vfsops.c
-index 1f72cce07dd1830e2f5fdff50ef298e05be3013d..da0cda03985e93acfa111efb7d6e9d6637f729cf 100644
---- a/module/os/linux/zfs/zfs_vfsops.c
-+++ b/module/os/linux/zfs/zfs_vfsops.c
-@@ -1179,6 +1179,63 @@ zfs_root(zfsvfs_t *zfsvfs, struct inode **ipp)
- 	return (error);
- }
- 
-+/*
-+ * Dentry and inode caches referenced by a task in non-root memcg are
-+ * not going to be scanned by the kernel-provided shrinker. So, if
-+ * kernel prunes nothing, fall back to this manual walk to free dnodes.
-+ * To avoid scanning the same znodes multiple times they are always rotated
-+ * to the end of the z_all_znodes list. New znodes are inserted at the
-+ * end of the list so we're always scanning the oldest znodes first.
-+ */
-+static int
-+zfs_prune_aliases(zfsvfs_t *zfsvfs, unsigned long nr_to_scan)
-+{
-+	znode_t **zp_array, *zp;
-+	int max_array = MIN(nr_to_scan, PAGE_SIZE * 8 / sizeof (znode_t *));
-+	int objects = 0;
-+	int i = 0, j = 0;
-+
-+	zp_array = vmem_zalloc(max_array * sizeof (znode_t *), KM_SLEEP);
-+
-+	mutex_enter(&zfsvfs->z_znodes_lock);
-+	while ((zp = list_head(&zfsvfs->z_all_znodes)) != NULL) {
-+
-+		if ((i++ > nr_to_scan) || (j >= max_array))
-+			break;
-+
-+		ASSERT(list_link_active(&zp->z_link_node));
-+		list_remove(&zfsvfs->z_all_znodes, zp);
-+		list_insert_tail(&zfsvfs->z_all_znodes, zp);
-+
-+		/* Skip active znodes and .zfs entries */
-+		if (MUTEX_HELD(&zp->z_lock) || zp->z_is_ctldir)
-+			continue;
-+
-+		if (igrab(ZTOI(zp)) == NULL)
-+			continue;
-+
-+		zp_array[j] = zp;
-+		j++;
-+	}
-+	mutex_exit(&zfsvfs->z_znodes_lock);
-+
-+	for (i = 0; i < j; i++) {
-+		zp = zp_array[i];
-+
-+		ASSERT3P(zp, !=, NULL);
-+		d_prune_aliases(ZTOI(zp));
-+
-+		if (atomic_read(&ZTOI(zp)->i_count) == 1)
-+			objects++;
-+
-+		zrele(zp);
-+	}
-+
-+	vmem_free(zp_array, max_array * sizeof (znode_t *));
-+
-+	return (objects);
-+}
-+
- /*
-  * The ARC has requested that the filesystem drop entries from the dentry
-  * and inode caches.  This can occur when the ARC needs to free meta data
-@@ -1222,6 +1279,14 @@ zfs_prune(struct super_block *sb, unsigned long nr_to_scan, int *objects)
- 	*objects = (*shrinker->scan_objects)(shrinker, &sc);
- #endif
- 
-+	/*
-+	 * Fall back to zfs_prune_aliases if kernel's shrinker did nothing
-+	 * due to dentry and inode caches being referenced by a task running
-+	 * in non-root memcg.
-+	 */
-+	if (*objects == 0)
-+		*objects = zfs_prune_aliases(zfsvfs, nr_to_scan);
-+
- 	zfs_exit(zfsvfs, FTAG);
- 
- 	dprintf_ds(zfsvfs->z_os->os_dsl_dataset,
-diff --git a/module/zfs/arc.c b/module/zfs/arc.c
-index 5c6e92f0f8b31dbcd569c92e645afb2e180b2deb..383aca2808d2c0aa8d09a9cdc8cfbfde4f6a6fc9 100644
---- a/module/zfs/arc.c
-+++ b/module/zfs/arc.c
-@@ -2597,7 +2597,7 @@ arc_space_consume(uint64_t space, arc_space_type_t type)
- 		ARCSTAT_INCR(arcstat_bonus_size, space);
- 		break;
- 	case ARC_SPACE_DNODE:
--		ARCSTAT_INCR(arcstat_dnode_size, space);
-+		aggsum_add(&arc_sums.arcstat_dnode_size, space);
- 		break;
- 	case ARC_SPACE_DBUF:
- 		ARCSTAT_INCR(arcstat_dbuf_size, space);
-@@ -2643,7 +2643,7 @@ arc_space_return(uint64_t space, arc_space_type_t type)
- 		ARCSTAT_INCR(arcstat_bonus_size, -space);
- 		break;
- 	case ARC_SPACE_DNODE:
--		ARCSTAT_INCR(arcstat_dnode_size, -space);
-+		aggsum_add(&arc_sums.arcstat_dnode_size, -space);
- 		break;
- 	case ARC_SPACE_DBUF:
- 		ARCSTAT_INCR(arcstat_dbuf_size, -space);
-@@ -4292,7 +4292,7 @@ arc_evict(void)
- 	 * target is not evictable or if they go over arc_dnode_limit.
- 	 */
- 	int64_t prune = 0;
--	int64_t dn = wmsum_value(&arc_sums.arcstat_dnode_size);
-+	int64_t dn = aggsum_value(&arc_sums.arcstat_dnode_size);
- 	w = wt * (int64_t)(arc_meta >> 16) >> 16;
- 	if (zfs_refcount_count(&arc_mru->arcs_size[ARC_BUFC_METADATA]) +
- 	    zfs_refcount_count(&arc_mfu->arcs_size[ARC_BUFC_METADATA]) -
-@@ -4775,12 +4775,19 @@ arc_is_overflowing(boolean_t use_reserve)
- 	 * in the ARC. In practice, that's in the tens of MB, which is low
- 	 * enough to be safe.
- 	 */
--	int64_t over = aggsum_lower_bound(&arc_sums.arcstat_size) -
-+	int64_t arc_over = aggsum_lower_bound(&arc_sums.arcstat_size) -
- 	    arc_c - overflow / 2;
- 	if (!use_reserve)
- 		overflow /= 2;
--	return (over < 0 ? ARC_OVF_NONE :
--	    over < overflow ? ARC_OVF_SOME : ARC_OVF_SEVERE);
-+
-+	int64_t dn_over = aggsum_lower_bound(&arc_sums.arcstat_dnode_size) -
-+	    arc_dnode_limit;
-+
-+	/* Always allow at least one block of overflow. */
-+	if (arc_over < 0 && dn_over <= 0)
-+		return (ARC_OVF_NONE);
-+
-+	return (arc_over < overflow ? ARC_OVF_SOME : ARC_OVF_SEVERE);
- }
- 
- static abd_t *
-@@ -6938,7 +6945,7 @@ arc_kstat_update(kstat_t *ksp, int rw)
- #if defined(COMPAT_FREEBSD11)
- 	as->arcstat_other_size.value.ui64 =
- 	    wmsum_value(&arc_sums.arcstat_bonus_size) +
--	    wmsum_value(&arc_sums.arcstat_dnode_size) +
-+	    aggsum_value(&arc_sums.arcstat_dnode_size) +
- 	    wmsum_value(&arc_sums.arcstat_dbuf_size);
- #endif
- 
-@@ -6980,7 +6987,7 @@ arc_kstat_update(kstat_t *ksp, int rw)
- 	    &as->arcstat_uncached_evictable_metadata);
- 
- 	as->arcstat_dnode_size.value.ui64 =
--	    wmsum_value(&arc_sums.arcstat_dnode_size);
-+	    aggsum_value(&arc_sums.arcstat_dnode_size);
- 	as->arcstat_bonus_size.value.ui64 =
- 	    wmsum_value(&arc_sums.arcstat_bonus_size);
- 	as->arcstat_l2_hits.value.ui64 =
-@@ -7349,7 +7356,7 @@ arc_state_init(void)
- 	wmsum_init(&arc_sums.arcstat_data_size, 0);
- 	wmsum_init(&arc_sums.arcstat_metadata_size, 0);
- 	wmsum_init(&arc_sums.arcstat_dbuf_size, 0);
--	wmsum_init(&arc_sums.arcstat_dnode_size, 0);
-+	aggsum_init(&arc_sums.arcstat_dnode_size, 0);
- 	wmsum_init(&arc_sums.arcstat_bonus_size, 0);
- 	wmsum_init(&arc_sums.arcstat_l2_hits, 0);
- 	wmsum_init(&arc_sums.arcstat_l2_misses, 0);
-@@ -7507,7 +7514,7 @@ arc_state_fini(void)
- 	wmsum_fini(&arc_sums.arcstat_data_size);
- 	wmsum_fini(&arc_sums.arcstat_metadata_size);
- 	wmsum_fini(&arc_sums.arcstat_dbuf_size);
--	wmsum_fini(&arc_sums.arcstat_dnode_size);
-+	aggsum_fini(&arc_sums.arcstat_dnode_size);
- 	wmsum_fini(&arc_sums.arcstat_bonus_size);
- 	wmsum_fini(&arc_sums.arcstat_l2_hits);
- 	wmsum_fini(&arc_sums.arcstat_l2_misses);
diff --git a/debian/patches/series b/debian/patches/series
index 11a97debd..229027ff9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -9,4 +9,3 @@
 0009-arc-stat-summary-guard-access-to-freshly-introduced-.patch
 0010-Fix-nfs_truncate_shares-without-etc-exports.d.patch
 0011-zpool-status-tighten-bounds-for-noalloc-stat-availab.patch
-0012-backport-enforce-arc_dnode_limit-to-2.2.patch
diff --git a/upstream b/upstream
index 3e4a3e161..079ba86d7 160000
--- a/upstream
+++ b/upstream
@@ -1 +1 @@
-Subproject commit 3e4a3e161c00273303cd9fa9e0dc09ead3499a8a
+Subproject commit 079ba86d71571bf997ff688da061d8c4aa2fd052
-- 
2.47.3



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2025-11-24 17:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-11-24 17:14 [pve-devel] [PATCH zfsonlinux/stable-bookworm] update submodule and patches to 2.2.9 Stoiko Ivanov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal