From f4e2c4ae2946ffa09ee6acef6433d434c35ad163 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Thu, 20 Apr 2023 09:26:09 +0200 Subject: [PATCH] update ZFS submodule to 2.1.11 and refresh patches Signed-off-by: Thomas Lamprecht --- .../0006-dont-symlink-zed-scripts.patch | 1 + ...d-unit-for-importing-specific-pools.patch} | 1 + .../patches/0007-Use-installed-python3.patch | 55 ----- ...move-manpage-arcstat-1-to-arcstat-8.patch} | 1 + ...t-Fix-integer-division-with-python3.patch} | 2 +- ...guard-access-to-l2arc-MFU-MRU-stats.patch} | 9 +- ...compat-add-another-bdev_io_acct-case.patch | 195 ------------------ debian/patches/series | 10 +- upstream | 2 +- 9 files changed, 14 insertions(+), 262 deletions(-) rename debian/patches/{0008-Add-systemd-unit-for-importing-specific-pools.patch => 0007-Add-systemd-unit-for-importing-specific-pools.patch} (97%) delete mode 100644 debian/patches/0007-Use-installed-python3.patch rename debian/patches/{0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch => 0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch} (95%) rename debian/patches/{0010-arcstat-Fix-integer-division-with-python3.patch => 0009-arcstat-Fix-integer-division-with-python3.patch} (99%) rename debian/patches/{0011-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch => 0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch} (96%) delete mode 100644 debian/patches/0012-linux-6.3-compat-add-another-bdev_io_acct-case.patch diff --git a/debian/patches/0006-dont-symlink-zed-scripts.patch b/debian/patches/0006-dont-symlink-zed-scripts.patch index 60fe550..33c066b 100644 --- a/debian/patches/0006-dont-symlink-zed-scripts.patch +++ b/debian/patches/0006-dont-symlink-zed-scripts.patch @@ -11,6 +11,7 @@ Signed-off-by: Stoiko Ivanov Description: track default symlinks, instead of symlinking Forwarded: no need +Signed-off-by: Thomas Lamprecht --- cmd/zed/zed.d/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/patches/0008-Add-systemd-unit-for-importing-specific-pools.patch b/debian/patches/0007-Add-systemd-unit-for-importing-specific-pools.patch similarity index 97% rename from debian/patches/0008-Add-systemd-unit-for-importing-specific-pools.patch rename to debian/patches/0007-Add-systemd-unit-for-importing-specific-pools.patch index e724b2f..3d36180 100644 --- a/debian/patches/0008-Add-systemd-unit-for-importing-specific-pools.patch +++ b/debian/patches/0007-Add-systemd-unit-for-importing-specific-pools.patch @@ -11,6 +11,7 @@ the instance name is used unescaped (see systemd.unit(5)), since zpool names can contain characters which will be escaped by systemd. Signed-off-by: Stoiko Ivanov +Signed-off-by: Thomas Lamprecht --- etc/systemd/system/50-zfs.preset.in | 1 + etc/systemd/system/Makefile.am | 1 + diff --git a/debian/patches/0007-Use-installed-python3.patch b/debian/patches/0007-Use-installed-python3.patch deleted file mode 100644 index 69e5dd7..0000000 --- a/debian/patches/0007-Use-installed-python3.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Antonio Russo -Date: Tue, 5 May 2020 22:15:16 -0600 -Subject: [PATCH] Use installed python3 - ---- - .../functional/cli_root/zfs_program/zfs_program_json.ksh | 6 +++--- - .../tests/functional/rsend/send_encrypted_files.ksh | 2 +- - .../tests/functional/rsend/send_realloc_dnode_size.ksh | 2 +- - 3 files changed, 5 insertions(+), 5 deletions(-) - -diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_program/zfs_program_json.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_program/zfs_program_json.ksh -index 3788543b0..c7ee4ae9a 100755 ---- a/tests/zfs-tests/tests/functional/cli_root/zfs_program/zfs_program_json.ksh -+++ b/tests/zfs-tests/tests/functional/cli_root/zfs_program/zfs_program_json.ksh -@@ -100,10 +100,10 @@ typeset -a pos_cmds_out=( - # the same as the input and the --sort-keys option was added. Detect when - # --sort-keys is supported and apply the option to ensure the expected order. - # --if python -m json.tool --sort-keys <<< "{}"; then -- JSON_TOOL_CMD="python -m json.tool --sort-keys" -+if python3 -m json.tool --sort-keys <<< "{}"; then -+ JSON_TOOL_CMD="python3 -m json.tool --sort-keys" - else -- JSON_TOOL_CMD="python -m json.tool" -+ JSON_TOOL_CMD="python3 -m json.tool" - fi - - typeset -i cnt=0 -diff --git a/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh b/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh -index 370f5382e..661fbe85d 100755 ---- a/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh -+++ b/tests/zfs-tests/tests/functional/rsend/send_encrypted_files.ksh -@@ -87,7 +87,7 @@ log_must xattrtest -f 10 -x 3 -s 32768 -r -k -p /$TESTPOOL/$TESTFS2/xattrsadir - # OpenZFS issue #7432 - log_must zfs set compression=on xattr=sa $TESTPOOL/$TESTFS2 - log_must touch /$TESTPOOL/$TESTFS2/attrs --log_must eval "python -c 'print \"a\" * 4096' | \ -+log_must eval "python3 -c 'print \"a\" * 4096' | \ - set_xattr_stdin bigval /$TESTPOOL/$TESTFS2/attrs" - log_must zfs set compression=off xattr=on $TESTPOOL/$TESTFS2 - -diff --git a/tests/zfs-tests/tests/functional/rsend/send_realloc_dnode_size.ksh b/tests/zfs-tests/tests/functional/rsend/send_realloc_dnode_size.ksh -index 551ed15db..bd30488ea 100755 ---- a/tests/zfs-tests/tests/functional/rsend/send_realloc_dnode_size.ksh -+++ b/tests/zfs-tests/tests/functional/rsend/send_realloc_dnode_size.ksh -@@ -88,7 +88,7 @@ log_must zfs snapshot $POOL/fs@c - # 4. Create an empty file and add xattrs to it to exercise reclaiming a - # dnode that requires more than 1 slot for its bonus buffer (Zol #7433) - log_must zfs set compression=on xattr=sa $POOL/fs --log_must eval "python -c 'print \"a\" * 512' | -+log_must eval "python3 -c 'print \"a\" * 512' | - set_xattr_stdin bigval /$POOL/fs/attrs" - log_must zfs snapshot $POOL/fs@d - diff --git a/debian/patches/0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch b/debian/patches/0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch similarity index 95% rename from debian/patches/0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch rename to debian/patches/0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch index 16ab943..03135ed 100644 --- a/debian/patches/0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch +++ b/debian/patches/0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch @@ -7,6 +7,7 @@ Originally-By: Mo Zhou Originally-By: Antonio Russo Signed-off-by: Stoiko Ivanov +Signed-off-by: Thomas Lamprecht --- man/Makefile.am | 2 +- man/{man1/arcstat.1 => man8/arcstat.8} | 2 +- diff --git a/debian/patches/0010-arcstat-Fix-integer-division-with-python3.patch b/debian/patches/0009-arcstat-Fix-integer-division-with-python3.patch similarity index 99% rename from debian/patches/0010-arcstat-Fix-integer-division-with-python3.patch rename to debian/patches/0009-arcstat-Fix-integer-division-with-python3.patch index 33633e5..863c02b 100644 --- a/debian/patches/0010-arcstat-Fix-integer-division-with-python3.patch +++ b/debian/patches/0009-arcstat-Fix-integer-division-with-python3.patch @@ -22,7 +22,7 @@ Signed-off-by: Thomas Lamprecht 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/cmd/arcstat/arcstat.in b/cmd/arcstat/arcstat.in -index 425e52d1f..010f69ec0 100755 +index 0128fd817..d2b2e28d1 100755 --- a/cmd/arcstat/arcstat.in +++ b/cmd/arcstat/arcstat.in @@ -441,73 +441,73 @@ def calculate(): diff --git a/debian/patches/0011-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch b/debian/patches/0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch similarity index 96% rename from debian/patches/0011-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch rename to debian/patches/0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch index 020186c..61f03b5 100644 --- a/debian/patches/0011-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch +++ b/debian/patches/0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch @@ -20,16 +20,17 @@ also move l2_mfu_asize l2_mru_asize l2_prefetch_asize l2_bufc_data_asize l2_bufc_metadata_asize to .get accessor (these are only present with a cache device in the pool) Signed-off-by: Stoiko Ivanov +Signed-off-by: Thomas Lamprecht --- cmd/arc_summary/arc_summary3 | 28 ++++++++++++++-------------- cmd/arcstat/arcstat.in | 14 +++++++------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/cmd/arc_summary/arc_summary3 b/cmd/arc_summary/arc_summary3 -index 301c485b3..ac46f5843 100755 +index 9d0c2d30d..fd2581ae2 100755 --- a/cmd/arc_summary/arc_summary3 +++ b/cmd/arc_summary/arc_summary3 -@@ -617,13 +617,13 @@ def section_arc(kstats_dict): +@@ -609,13 +609,13 @@ def section_arc(kstats_dict): prt_i1('L2 cached evictions:', f_bytes(arc_stats['evict_l2_cached'])) prt_i1('L2 eligible evictions:', f_bytes(arc_stats['evict_l2_eligible'])) prt_i2('L2 eligible MFU evictions:', @@ -47,7 +48,7 @@ index 301c485b3..ac46f5843 100755 prt_i1('L2 ineligible evictions:', f_bytes(arc_stats['evict_l2_ineligible'])) print() -@@ -765,20 +765,20 @@ def section_l2arc(kstats_dict): +@@ -757,20 +757,20 @@ def section_l2arc(kstats_dict): f_perc(arc_stats['l2_hdr_size'], arc_stats['l2_size']), f_bytes(arc_stats['l2_hdr_size'])) prt_i2('MFU allocated size:', @@ -79,7 +80,7 @@ index 301c485b3..ac46f5843 100755 print() prt_1('L2ARC breakdown:', f_hits(l2_access_total)) diff --git a/cmd/arcstat/arcstat.in b/cmd/arcstat/arcstat.in -index 010f69ec0..50e5a7150 100755 +index d2b2e28d1..8004940b3 100755 --- a/cmd/arcstat/arcstat.in +++ b/cmd/arcstat/arcstat.in @@ -482,8 +482,8 @@ def calculate(): diff --git a/debian/patches/0012-linux-6.3-compat-add-another-bdev_io_acct-case.patch b/debian/patches/0012-linux-6.3-compat-add-another-bdev_io_acct-case.patch deleted file mode 100644 index fde8569..0000000 --- a/debian/patches/0012-linux-6.3-compat-add-another-bdev_io_acct-case.patch +++ /dev/null @@ -1,195 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Rich Ercolani <214141+rincebrain@users.noreply.github.com> -Date: Mon, 27 Mar 2023 14:29:19 -0400 -Subject: [PATCH] linux 6.3 compat: add another bdev_io_acct case - -Linux 6.3+, and backports from it (6.2.8+), changed the -signatures on bdev_io_{start,end}_acct. Add a case for it. - -Reviewed-by: Brian Behlendorf -Signed-off-by: Rich Ercolani -Closes #14658 -Closes #14668 -(cherry picked from commit 59f187563937aa0d6c74a9854eb1cab6632866f9) -Signed-off-by: Thomas Lamprecht ---- - config/kernel-generic_io_acct.m4 | 98 ++++++++++++------- - include/os/linux/kernel/linux/blkdev_compat.h | 10 +- - 2 files changed, 69 insertions(+), 39 deletions(-) - -diff --git a/config/kernel-generic_io_acct.m4 b/config/kernel-generic_io_acct.m4 -index a8a448c6f..a6a109004 100644 ---- a/config/kernel-generic_io_acct.m4 -+++ b/config/kernel-generic_io_acct.m4 -@@ -2,7 +2,20 @@ dnl # - dnl # Check for generic io accounting interface. - dnl # - AC_DEFUN([ZFS_AC_KERNEL_SRC_GENERIC_IO_ACCT], [ -- ZFS_LINUX_TEST_SRC([bdev_io_acct], [ -+ ZFS_LINUX_TEST_SRC([bdev_io_acct_63], [ -+ #include -+ ], [ -+ struct block_device *bdev = NULL; -+ struct bio *bio = NULL; -+ unsigned long passed_time = 0; -+ unsigned long start_time; -+ -+ start_time = bdev_start_io_acct(bdev, bio_op(bio), -+ passed_time); -+ bdev_end_io_acct(bdev, bio_op(bio), bio_sectors(bio), start_time); -+ ]) -+ -+ ZFS_LINUX_TEST_SRC([bdev_io_acct_old], [ - #include - ], [ - struct block_device *bdev = NULL; -@@ -63,74 +76,85 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_GENERIC_IO_ACCT], [ - - AC_DEFUN([ZFS_AC_KERNEL_GENERIC_IO_ACCT], [ - dnl # -- dnl # 5.19 API, -+ dnl # Linux 6.3, and then backports thereof, changed -+ dnl # the signatures on bdev_start_io_acct/bdev_end_io_acct - dnl # -- dnl # disk_start_io_acct() and disk_end_io_acct() have been replaced by -- dnl # bdev_start_io_acct() and bdev_end_io_acct(). -- dnl # -- AC_MSG_CHECKING([whether generic bdev_*_io_acct() are available]) -- ZFS_LINUX_TEST_RESULT([bdev_io_acct], [ -+ AC_MSG_CHECKING([whether 6.3+ bdev_*_io_acct() are available]) -+ ZFS_LINUX_TEST_RESULT([bdev_io_acct_63], [ - AC_MSG_RESULT(yes) -- AC_DEFINE(HAVE_BDEV_IO_ACCT, 1, [bdev_*_io_acct() available]) -+ AC_DEFINE(HAVE_BDEV_IO_ACCT_63, 1, [bdev_*_io_acct() available]) - ], [ - AC_MSG_RESULT(no) - - dnl # -- dnl # 5.12 API, -+ dnl # 5.19 API, - dnl # -- dnl # bio_start_io_acct() and bio_end_io_acct() became GPL-exported -- dnl # so use disk_start_io_acct() and disk_end_io_acct() instead -+ dnl # disk_start_io_acct() and disk_end_io_acct() have been replaced by -+ dnl # bdev_start_io_acct() and bdev_end_io_acct(). - dnl # -- AC_MSG_CHECKING([whether generic disk_*_io_acct() are available]) -- ZFS_LINUX_TEST_RESULT([disk_io_acct], [ -+ AC_MSG_CHECKING([whether pre-6.3 bdev_*_io_acct() are available]) -+ ZFS_LINUX_TEST_RESULT([bdev_io_acct_old], [ - AC_MSG_RESULT(yes) -- AC_DEFINE(HAVE_DISK_IO_ACCT, 1, [disk_*_io_acct() available]) -+ AC_DEFINE(HAVE_BDEV_IO_ACCT_OLD, 1, [bdev_*_io_acct() available]) - ], [ - AC_MSG_RESULT(no) -- - dnl # -- dnl # 5.7 API, -+ dnl # 5.12 API, - dnl # -- dnl # Added bio_start_io_acct() and bio_end_io_acct() helpers. -+ dnl # bio_start_io_acct() and bio_end_io_acct() became GPL-exported -+ dnl # so use disk_start_io_acct() and disk_end_io_acct() instead - dnl # -- AC_MSG_CHECKING([whether generic bio_*_io_acct() are available]) -- ZFS_LINUX_TEST_RESULT([bio_io_acct], [ -+ AC_MSG_CHECKING([whether generic disk_*_io_acct() are available]) -+ ZFS_LINUX_TEST_RESULT([disk_io_acct], [ - AC_MSG_RESULT(yes) -- AC_DEFINE(HAVE_BIO_IO_ACCT, 1, [bio_*_io_acct() available]) -+ AC_DEFINE(HAVE_DISK_IO_ACCT, 1, [disk_*_io_acct() available]) - ], [ - AC_MSG_RESULT(no) - - dnl # -- dnl # 4.14 API, -+ dnl # 5.7 API, - dnl # -- dnl # generic_start_io_acct/generic_end_io_acct now require -- dnl # request_queue to be provided. No functional changes, -- dnl # but preparation for inflight accounting. -+ dnl # Added bio_start_io_acct() and bio_end_io_acct() helpers. - dnl # -- AC_MSG_CHECKING([whether generic_*_io_acct wants 4 args]) -- ZFS_LINUX_TEST_RESULT_SYMBOL([generic_acct_4args], -- [generic_start_io_acct], [block/bio.c], [ -+ AC_MSG_CHECKING([whether generic bio_*_io_acct() are available]) -+ ZFS_LINUX_TEST_RESULT([bio_io_acct], [ - AC_MSG_RESULT(yes) -- AC_DEFINE(HAVE_GENERIC_IO_ACCT_4ARG, 1, -- [generic_*_io_acct() 4 arg available]) -+ AC_DEFINE(HAVE_BIO_IO_ACCT, 1, [bio_*_io_acct() available]) - ], [ - AC_MSG_RESULT(no) - - dnl # -- dnl # 3.19 API addition -+ dnl # 4.14 API, - dnl # -- dnl # torvalds/linux@394ffa50 allows us to increment -- dnl # iostat counters without generic_make_request(). -+ dnl # generic_start_io_acct/generic_end_io_acct now require -+ dnl # request_queue to be provided. No functional changes, -+ dnl # but preparation for inflight accounting. - dnl # -- AC_MSG_CHECKING( -- [whether generic_*_io_acct wants 3 args]) -- ZFS_LINUX_TEST_RESULT_SYMBOL([generic_acct_3args], -+ AC_MSG_CHECKING([whether generic_*_io_acct wants 4 args]) -+ ZFS_LINUX_TEST_RESULT_SYMBOL([generic_acct_4args], - [generic_start_io_acct], [block/bio.c], [ - AC_MSG_RESULT(yes) -- AC_DEFINE(HAVE_GENERIC_IO_ACCT_3ARG, 1, -- [generic_*_io_acct() 3 arg available]) -+ AC_DEFINE(HAVE_GENERIC_IO_ACCT_4ARG, 1, -+ [generic_*_io_acct() 4 arg available]) - ], [ - AC_MSG_RESULT(no) -+ -+ dnl # -+ dnl # 3.19 API addition -+ dnl # -+ dnl # torvalds/linux@394ffa50 allows us to increment -+ dnl # iostat counters without generic_make_request(). -+ dnl # -+ AC_MSG_CHECKING( -+ [whether generic_*_io_acct wants 3 args]) -+ ZFS_LINUX_TEST_RESULT_SYMBOL([generic_acct_3args], -+ [generic_start_io_acct], [block/bio.c], [ -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_GENERIC_IO_ACCT_3ARG, 1, -+ [generic_*_io_acct() 3 arg available]) -+ ], [ -+ AC_MSG_RESULT(no) -+ ]) - ]) - ]) - ]) -diff --git a/include/os/linux/kernel/linux/blkdev_compat.h b/include/os/linux/kernel/linux/blkdev_compat.h -index bac5c2279..3a3f264d7 100644 ---- a/include/os/linux/kernel/linux/blkdev_compat.h -+++ b/include/os/linux/kernel/linux/blkdev_compat.h -@@ -555,7 +555,10 @@ blk_generic_start_io_acct(struct request_queue *q __attribute__((unused)), - struct gendisk *disk __attribute__((unused)), - int rw __attribute__((unused)), struct bio *bio) - { --#if defined(HAVE_BDEV_IO_ACCT) -+#if defined(HAVE_BDEV_IO_ACCT_63) -+ return (bdev_start_io_acct(bio->bi_bdev, bio_op(bio), -+ jiffies)); -+#elif defined(HAVE_BDEV_IO_ACCT_OLD) - return (bdev_start_io_acct(bio->bi_bdev, bio_sectors(bio), - bio_op(bio), jiffies)); - #elif defined(HAVE_DISK_IO_ACCT) -@@ -581,7 +584,10 @@ blk_generic_end_io_acct(struct request_queue *q __attribute__((unused)), - struct gendisk *disk __attribute__((unused)), - int rw __attribute__((unused)), struct bio *bio, unsigned long start_time) - { --#if defined(HAVE_BDEV_IO_ACCT) -+#if defined(HAVE_BDEV_IO_ACCT_63) -+ bdev_end_io_acct(bio->bi_bdev, bio_op(bio), bio_sectors(bio), -+ start_time); -+#elif defined(HAVE_BDEV_IO_ACCT_OLD) - bdev_end_io_acct(bio->bi_bdev, bio_op(bio), start_time); - #elif defined(HAVE_DISK_IO_ACCT) - disk_end_io_acct(disk, bio_op(bio), start_time); diff --git a/debian/patches/series b/debian/patches/series index aed00d7..6bd1275 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -4,9 +4,7 @@ 0004-import-with-d-dev-disk-by-id-in-scan-service.patch 0005-Enable-zed-emails.patch 0006-dont-symlink-zed-scripts.patch -0007-Use-installed-python3.patch -0008-Add-systemd-unit-for-importing-specific-pools.patch -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-linux-6.3-compat-add-another-bdev_io_acct-case.patch +0007-Add-systemd-unit-for-importing-specific-pools.patch +0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch +0009-arcstat-Fix-integer-division-with-python3.patch +0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch diff --git a/upstream b/upstream index 92e0d9d..e25f913 160000 --- a/upstream +++ b/upstream @@ -1 +1 @@ -Subproject commit 92e0d9d183ce6752cd52f7277c8321d81df9ffee +Subproject commit e25f9131d679692704c11dc0c1df6d4585b70c35