update ZFS submodule to 2.1.11 and refresh patches
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
4584ec1155
commit
f4e2c4ae29
@ -11,6 +11,7 @@ Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
|
||||
|
||||
Description: track default symlinks, instead of symlinking
|
||||
Forwarded: no need
|
||||
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
---
|
||||
cmd/zed/zed.d/Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
@ -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 <s.ivanov@proxmox.com>
|
||||
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
---
|
||||
etc/systemd/system/50-zfs.preset.in | 1 +
|
||||
etc/systemd/system/Makefile.am | 1 +
|
55
debian/patches/0007-Use-installed-python3.patch
vendored
55
debian/patches/0007-Use-installed-python3.patch
vendored
@ -1,55 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Antonio Russo <antonio.e.russo@gmail.com>
|
||||
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
|
||||
|
@ -7,6 +7,7 @@ Originally-By: Mo Zhou <cdluminate@gmail.com>
|
||||
Originally-By: Antonio Russo <aerusso@aerusso.net>
|
||||
|
||||
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
|
||||
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
---
|
||||
man/Makefile.am | 2 +-
|
||||
man/{man1/arcstat.1 => man8/arcstat.8} | 2 +-
|
@ -22,7 +22,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
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():
|
@ -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 <s.ivanov@proxmox.com>
|
||||
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
---
|
||||
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():
|
@ -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 <behlendorf1@llnl.gov>
|
||||
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
|
||||
Closes #14658
|
||||
Closes #14668
|
||||
(cherry picked from commit 59f187563937aa0d6c74a9854eb1cab6632866f9)
|
||||
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
|
||||
---
|
||||
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 <linux/blkdev.h>
|
||||
+ ], [
|
||||
+ 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 <linux/blkdev.h>
|
||||
], [
|
||||
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);
|
10
debian/patches/series
vendored
10
debian/patches/series
vendored
@ -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
|
||||
|
2
upstream
2
upstream
@ -1 +1 @@
|
||||
Subproject commit 92e0d9d183ce6752cd52f7277c8321d81df9ffee
|
||||
Subproject commit e25f9131d679692704c11dc0c1df6d4585b70c35
|
Loading…
Reference in New Issue
Block a user