27 Commits

Author SHA1 Message Date
Thomas Lamprecht 66ef8d3dc8 bump version to 2.1.15-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-29 15:22:26 +01:00
Stoiko Ivanov 0471bf2222 d/zfsutils-linux.install: add zfs_prepare_disk and manpage
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
(cherry picked from commit 3bda92bd20)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-29 15:22:26 +01:00
Thomas Lamprecht 592bf54c1d update ZFS to 2.1.15
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-03-29 15:18:12 +01:00
Thomas Lamprecht d5320c35ef d/changelog: fixup release dist
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 14:37:07 +01:00
Thomas Lamprecht daea70c06f bump version to 2.1.14-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:47:21 +01:00
Thomas Lamprecht d2d19b30ac update ZFS to 2.1.14
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:46:48 +01:00
Thomas Lamprecht 453933b504 backport fix for AMX register breakage
vmexit's can cause the AMX registers to "misbehave" which can break
ZFS, even though ZFS doesn't use AMX at all.

This causes crashes and processes hanging forever in uninterruptible
sleep (the infamous D state) on Intel Xeon 4th gen HW, possible other
HW too, but we only got reports on Sapphire Rapids models.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Tested-by: Aaron Lauterer <a.lauterer@proxmox.com>
(cherry picked from commit 9e8946d4b9)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht 7c44e0fd4f buildsys: improve clean target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 8c6520d1fc)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht 846641b44e bump version to 2.1.13-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit aa26132525)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht 7c3580f1e2 add basic gitignore
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 13c7e925aa)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht 406e3116ab buildsys: improve DSC target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit a80c5e3597)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht 4e4e9f07b7 buildsys: align variable names with our commonly used ones
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 149fd91bb2)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Stoiko Ivanov c40521f90e update zfs submodule to 2.1.13 and refresh patches
Sugested-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 362d3432be)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht 815c0cb231 bump version to 2.1.12-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit f5ed5be89a)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Stoiko Ivanov c636d46615 /lib/zfs-linux/trim: don't exit 1 if last pool isn't nvme-only (Closes: #1030316)
(cherry picked from debian-upstream[0]
commit 8ed69adac193f6463832f6ae34b5ded88b8014d8)

[0] https://salsa.debian.org/zfsonlinux-team/zfs
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
(cherry picked from commit 5891aaec34)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Stoiko Ivanov 9d8f7eac7e update zfs submodule to 2.1.12
patches still applied cleanly

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
(cherry picked from commit 63e591d8a9)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht 3e7179aab5 bump version to 2.1.11-pve2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit d855afe7be)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht cf62ae92d0 buildsys: add sbuild convenience target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 34d701d1ac)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht 1bc51c3067 buildsys: derive upload dist and arch automatically
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 40fe66e33e)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht ba79ebf386 d/copyright: update from debian upstream
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 1b7710c13c)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht a7a04bbd41 d/control: do not depend on obsolete lsb-base
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 2f5fca8a1a)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht dcf2989454 d/rules: drop --parallel flag, useless for dh-compat >= 10
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit 8ba2c83746)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-12-01 13:41:18 +01:00
Thomas Lamprecht 88588cfead buildsys: generate clean orig source tarball for DSC
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-20 20:37:16 +02:00
Thomas Lamprecht 1995e62236 makefile: convert to use simple parenthesis
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-20 20:27:07 +02:00
Thomas Lamprecht ab835eff0f buildsys: use actual DSC file as prerequisite
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-20 20:27:07 +02:00
Thomas Lamprecht b0c4d8ac0b bump version to 2.1.11-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-04-20 09:30:56 +02:00
Thomas Lamprecht f4e2c4ae29 update ZFS submodule to 2.1.11 and refresh patches
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-04-20 09:30:22 +02:00
19 changed files with 237 additions and 342 deletions
+7
View File
@@ -0,0 +1,7 @@
/*.build
/*.buildinfo
/*.changes
/*.deb
/*.dsc
/*.tar*
/zfs-utils-*.*/
+62 -51
View File
@@ -1,82 +1,93 @@
include /usr/share/dpkg/default.mk
# source form https://github.com/zfsonlinux/ # source form https://github.com/zfsonlinux/
ZFSPKG=debian PACKAGE = zfs-linux
ZFSVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion | cut -d- -f1
ZFSPKGVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion
ZFSDIR=zfs-linux_${ZFSVER}
ZFSSRC=upstream
ZFS_DEB1= libnvpair3linux_${ZFSPKGVER}_amd64.deb SRCDIR = upstream
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
ORIG_SRC_TAR = $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
ZFS_DEB1= libnvpair3linux_$(DEB_VERSION)_amd64.deb
ZFS_DEB_BINARY = \ ZFS_DEB_BINARY = \
libpam-zfs_${ZFSPKGVER}_amd64.deb \ libpam-zfs_$(DEB_VERSION)_amd64.deb \
libuutil3linux_${ZFSPKGVER}_amd64.deb \ libuutil3linux_$(DEB_VERSION)_amd64.deb \
libzfs4linux_${ZFSPKGVER}_amd64.deb \ libzfs4linux_$(DEB_VERSION)_amd64.deb \
libzfsbootenv1linux_${ZFSPKGVER}_amd64.deb \ libzfsbootenv1linux_$(DEB_VERSION)_amd64.deb \
libzpool5linux_${ZFSPKGVER}_amd64.deb \ libzpool5linux_$(DEB_VERSION)_amd64.deb \
zfs-test_${ZFSPKGVER}_amd64.deb \ zfs-test_$(DEB_VERSION)_amd64.deb \
zfsutils-linux_${ZFSPKGVER}_amd64.deb \ zfsutils-linux_$(DEB_VERSION)_amd64.deb \
zfs-zed_${ZFSPKGVER}_amd64.deb zfs-zed_$(DEB_VERSION)_amd64.deb
ZFS_DBG_DEBS = $(patsubst %_${ZFSPKGVER}_amd64.deb, %-dbgsym_${ZFSPKGVER}_amd64.deb, ${ZFS_DEB1} ${ZFS_DEB_BINARY}) ZFS_DBG_DEBS = $(patsubst %_$(DEB_VERSION)_amd64.deb, %-dbgsym_$(DEB_VERSION)_amd64.deb, $(ZFS_DEB1) $(ZFS_DEB_BINARY))
ZFS_DEB2= ${ZFS_DEB_BINARY} \ ZFS_DEB2= $(ZFS_DEB_BINARY) \
libzfslinux-dev_${ZFSPKGVER}_amd64.deb \ libzfslinux-dev_$(DEB_VERSION)_amd64.deb \
python3-pyzfs_${ZFSPKGVER}_amd64.deb \ python3-pyzfs_$(DEB_VERSION)_amd64.deb \
pyzfs-doc_${ZFSPKGVER}_all.deb \ pyzfs-doc_$(DEB_VERSION)_all.deb \
spl_${ZFSPKGVER}_all.deb \ spl_$(DEB_VERSION)_all.deb \
zfs-initramfs_${ZFSPKGVER}_all.deb zfs-initramfs_$(DEB_VERSION)_all.deb
DEBS= ${ZFS_DEB1} ${ZFS_DEB2} ${ZFS_DBG_DEBS} DEBS= $(ZFS_DEB1) $(ZFS_DEB2) $(ZFS_DBG_DEBS)
ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc ZFS_DSC = zfs-linux_$(DEB_VERSION).dsc
all: deb all: deb
.PHONY: deb
deb: ${DEBS} .PHONY: deb dsc
.PHONY: dsc deb: $(DEBS)
dsc: ${ZFS_DSC}
dsc:
rm -rf *.dsc $(BUILDDIR)
$(MAKE) $(ZFS_DSC)
lintian $(ZFS_DSC)
# called from pve-kernel's Makefile to get patched sources # called from pve-kernel's Makefile to get patched sources
.PHONY: kernel .PHONY: kernel
kernel: dsc kernel: $(ZFS_DSC)
dpkg-source -x ${ZFS_DSC} ../pkg-zfs dpkg-source -x $(ZFS_DSC) ../pkg-zfs
${MAKE} -C ../pkg-zfs -f debian/rules adapt_meta_file $(MAKE) -C ../pkg-zfs -f debian/rules adapt_meta_file
.PHONY: dinstall .PHONY: dinstall
dinstall: ${DEBS} dinstall: $(DEBS)
dpkg -i ${DEBS} dpkg -i $(DEBS)
.PHONY: submodule .PHONY: submodule
submodule: submodule:
test -f "${ZFSSRC}/README.md" || git submodule update --init test -f "$(SRCDIR)/README.md" || git submodule update --init
${ZFSSRC}/README.md: submodule
$(SRCDIR)/README.md: submodule
.PHONY: zfs .PHONY: zfs
zfs: ${DEBS} zfs: $(DEBS)
${ZFS_DEB2} ${ZFS_DBG_DEBS}: ${ZFS_DEB1} $(ZFS_DEB2) $(ZFS_DBG_DEBS): $(ZFS_DEB1)
${ZFS_DEB1}: ${ZFSDIR} $(ZFS_DEB1): $(BUILDDIR)
cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
lintian ${DEBS} lintian $(DEBS)
${ZFS_DSC}: ${ZFSDIR} $(ORIG_SRC_TAR): $(BUILDDIR)
tar czf zfs-linux_${ZFSVER}.orig.tar.gz ${ZFSDIR} tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d
lintian $@
${ZFSDIR}: ${ZFSSRC}/README.md ${ZFSSRC} ${ZFSPKG} $(ZFS_DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
rm -rf ${ZFSDIR} ${ZFSDIR}.tmp cd $(BUILDDIR); dpkg-buildpackage -S -uc -us -d
cp -a ${ZFSSRC} ${ZFSDIR}.tmp
cp -a ${ZFSPKG} ${ZFSDIR}.tmp/debian
mv ${ZFSDIR}.tmp ${ZFSDIR}
sbuild: $(ZFS_DSC)
sbuild $(ZFS_DSC)
$(BUILDDIR): $(SRCDIR)/README.md $(SRCDIR) debian
rm -rf $@ $@.tmp
cp -a $(SRCDIR) $@.tmp
cp -a debian $@.tmp/debian
mv $@.tmp $@
.PHONY: clean .PHONY: clean
clean: clean:
rm -rf *~ *.deb *.changes *.buildinfo *.dsc *.orig.tar.* *.debian.tar.* ${ZFSDIR} rm -rf $(PACKAGE)-[0-9]*/
rm -f *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.*
.PHONY: distclean .PHONY: distclean
distclean: clean distclean: clean
.PHONY: upload .PHONY: upload
upload: ${DEBS} upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist bullseye --arch amd64 upload: $(DEBS)
tar -cf - $(DEBS) | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)
+38
View File
@@ -1,3 +1,41 @@
zfs-linux (2.1.15-pve1) bullseye; urgency=medium
* update ZFS to 2.1.15
-- Proxmox Support Team <support@proxmox.com> Fri, 29 Mar 2024 15:18:31 +0100
zfs-linux (2.1.14-pve1) bullseye; urgency=medium
* update ZFS to 2.1.14
-- Proxmox Support Team <support@proxmox.com> Fri, 01 Dec 2023 13:47:16 +0100
zfs-linux (2.1.13-pve1) bookworm; urgency=medium
* update ZFS to 2.1.13
-- Proxmox Support Team <support@proxmox.com> Thu, 28 Sep 2023 12:22:28 +0200
zfs-linux (2.1.12-pve1) bookworm; urgency=medium
* update ZFS to 2.1.12
* zfs trim: avoid exit-failure if last pool isn't nvme-only
-- Proxmox Support Team <support@proxmox.com> Tue, 13 Jun 2023 15:25:16 +0200
zfs-linux (2.1.11-pve2) bookworm; urgency=medium
* re-build for Debian 12 Bookworm based releases
-- Proxmox Support Team <support@proxmox.com> Sat, 20 May 2023 19:32:04 +0200
zfs-linux (2.1.11-pve1) bullseye; urgency=medium
* update ZFS to 2.1.11
-- Proxmox Support Team <support@proxmox.com> Thu, 20 Apr 2023 09:30:53 +0200
zfs-linux (2.1.9-pve1) bullseye; urgency=medium zfs-linux (2.1.9-pve1) bullseye; urgency=medium
* update ZFS to 2.1.9 * update ZFS to 2.1.9
+1 -1
View File
@@ -203,7 +203,7 @@ Package: zfsutils-linux
Section: contrib/admin Section: contrib/admin
Architecture: linux-any Architecture: linux-any
Depends: python3, ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends} Depends: python3, ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends}
Recommends: lsb-base, zfs-zed Recommends: zfs-zed
Suggests: nfs-kernel-server, Suggests: nfs-kernel-server,
samba-common-bin (>= 3.0.23), samba-common-bin (>= 3.0.23),
zfs-initramfs zfs-initramfs
+20 -23
View File
@@ -132,9 +132,9 @@ Copyright:
2017, Intel Corporation. 2017, Intel Corporation.
License: CDDL-1.0 License: CDDL-1.0
Files: cmd/zstreamdump/* Files: cmd/zstream/*
Copyright: Copyright:
2013, Delphix. 2013, 2015 Delphix.
2012, Martin Matuska <martin@matuska.org> 2012, Martin Matuska <martin@matuska.org>
2010, Sun Microsystems, Inc. 2010, Sun Microsystems, Inc.
License: CDDL-1.0 License: CDDL-1.0
@@ -201,7 +201,6 @@ Copyright:
2011-2013, Darik Horn <dajhorn@vanadac.com> 2011-2013, Darik Horn <dajhorn@vanadac.com>
2018-2019, Mo Zhou <cdluminate@gmail.com> 2018-2019, Mo Zhou <cdluminate@gmail.com>
2018-2020, Mo Zhou <lumin@debian.org> 2018-2020, Mo Zhou <lumin@debian.org>
2015-2021 Proxmox Server Solutions GmbH <support@proxmox.com>
License: GPL-2+ License: GPL-2+
Files: debian/po/* Files: debian/po/*
@@ -399,12 +398,7 @@ Copyright: 2009, Oracle and/or its affiliates.
2009, Michael Gebetsroither <michael.geb@gmx.at> 2009, Michael Gebetsroither <michael.geb@gmx.at>
License: CDDL-1.0 License: CDDL-1.0
Files: man/man5/zfs-events.5 Files: man/man7/zpool-features.7
man/man5/zfs-module-parameters.5
Copyright: 2013, Turbo Fredriksson <turbo@bayour.com>
License: CDDL-1.0
Files: man/man5/zpool-features.5
Copyright: Copyright:
2013, Delphix 2013, Delphix
2013, Saso Kiselkov 2013, Saso Kiselkov
@@ -436,7 +430,7 @@ Copyright: 2011-2014, Delphix.
2007, 2009, 2010, Sun Microsystems, Inc. 2007, 2009, 2010, Sun Microsystems, Inc.
License: CDDL-1.0 License: CDDL-1.0
Files: module/lua Files: module/lua/*
Copyright: 1994-2015 Lua.org, PUC-Rio. Copyright: 1994-2015 Lua.org, PUC-Rio.
License: Expat License: Expat
@@ -483,7 +477,7 @@ Copyright: 2013, Saso Kiselkov.
2005, 2010, Oracle and/or its affiliates. 2005, 2010, Oracle and/or its affiliates.
License: CDDL-1.0 License: CDDL-1.0
Files: module/zcommon/zfs_uio.c Files: module/os/linux/zfs/zfs_uio.c
Copyright: 2007, 2009, 2010, Sun Microsystems, Inc. Copyright: 2007, 2009, 2010, Sun Microsystems, Inc.
1983-1989, AT&T 1983-1989, AT&T
1982, 1986, 1988, The Regents of the University of California 1982, 1986, 1988, The Regents of the University of California
@@ -697,13 +691,14 @@ Copyright: 2011, 2014, Nexenta Systems, Inc.
2005, 2010, Oracle and/or its affiliates. 2005, 2010, Oracle and/or its affiliates.
License: CDDL-1.0 License: CDDL-1.0
Files: module/zfs/vdev_disk.c Files: module/os/linux/zfs/vdev_disk.c
Copyright: 2012, 2014, Delphix. Copyright: 2012, 2014, Delphix.
2008-2010, Lawrence Livermore National Security, LLC 2008-2010, Lawrence Livermore National Security, LLC
License: CDDL-1.0 License: CDDL-1.0
Files: module/zfs/zfs_ctldir.c Files: module/os/freebsd/zfs/zfs_ctldir.c
Copyright: 2013, Delphix. module/os/linux/zfs/zfs_ctldir.c
Copyright: 2013, 2015 Delphix.
2011, Lawrence Livermore National Security, LLC 2011, Lawrence Livermore National Security, LLC
2005, 2010, Oracle and/or its affiliates. 2005, 2010, Oracle and/or its affiliates.
License: CDDL-1.0 License: CDDL-1.0
@@ -726,7 +721,8 @@ Copyright: 2013, Delphix.
2005, 2010, Oracle and/or its affiliates. 2005, 2010, Oracle and/or its affiliates.
License: CDDL-1.0 License: CDDL-1.0
Files: module/zfs/zfs_vfsops.c Files: module/os/freebsd/zfs/zfs_vfsops.c
module/os/linux/zfs/zfs_vfsops.c
module/zfs/zil.c module/zfs/zil.c
Copyright: 2011-2014, Delphix. Copyright: 2011-2014, Delphix.
2010, Robert Milkowski 2010, Robert Milkowski
@@ -741,8 +737,9 @@ Copyright: 2015, Chunwei Chen.
2005, 2010, Oracle and/or its affiliates. 2005, 2010, Oracle and/or its affiliates.
License: CDDL-1.0 License: CDDL-1.0
Files: module/zfs/zfs_znode.c Files: module/os/freebsd/zfs/zfs_znode.c
Copyright: 2013, Delphix. module/os/linux/zfs/zfs_znode.c
Copyright: 2013, 2015 Delphix.
2007, Jeremy Teo 2007, Jeremy Teo
2005, 2010, Oracle and/or its affiliates. 2005, 2010, Oracle and/or its affiliates.
License: CDDL-1.0 License: CDDL-1.0
@@ -753,20 +750,20 @@ Copyright: 2013, Saso Kiselkov.
2009, Sun Microsystems, Inc. 2009, Sun Microsystems, Inc.
License: CDDL-1.0 License: CDDL-1.0
Files: module/zfs/zpl_ctldir.c Files: module/os/linux/zfs/zpl_ctldir.c
module/zfs/zpl_super.c module/os/linux/zfs/zpl_super.c
module/zfs/zpl_xattr.c module/os/linux/zfs/zpl_xattr.c
module/zfs/zvol.c module/zfs/zvol.c
Copyright: 2008-2011, Lawrence Livermore National Security, LLC Copyright: 2008-2011, Lawrence Livermore National Security, LLC
License: CDDL-1.0 License: CDDL-1.0
Files: module/zfs/zpl_export.c Files: module/os/linux/zfs/zpl_export.c
Copyright: 2012, Cyril Plisko. Copyright: 2012, Cyril Plisko.
2011, Gunnar Beutner 2011, Gunnar Beutner
License: CDDL-1.0 License: CDDL-1.0
Files: module/zfs/zpl_file.c Files: module/os/linux/zfs/zpl_file.c
module/zfs/zpl_inode.c module/os/linux/zfs/zpl_inode.c
Copyright: 2015, Chunwei Chen. Copyright: 2015, Chunwei Chen.
2011, Lawrence Livermore National Security, LLC 2011, Lawrence Livermore National Security, LLC
License: CDDL-1.0 License: CDDL-1.0
+1 -1
View File
@@ -13,7 +13,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
index 227b26c26..240d0dbfa 100644 index 1dfd43454..0180dd827 100644
--- a/cmd/zed/zed.d/zed.rc --- a/cmd/zed/zed.d/zed.rc
+++ b/cmd/zed/zed.d/zed.rc +++ b/cmd/zed/zed.d/zed.rc
@@ -42,7 +42,7 @@ ZED_EMAIL_ADDR="root" @@ -42,7 +42,7 @@ ZED_EMAIL_ADDR="root"
+3 -2
View File
@@ -11,15 +11,16 @@ Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Description: track default symlinks, instead of symlinking Description: track default symlinks, instead of symlinking
Forwarded: no need Forwarded: no need
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
--- ---
cmd/zed/zed.d/Makefile.am | 2 +- cmd/zed/zed.d/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/cmd/zed/zed.d/Makefile.am b/cmd/zed/zed.d/Makefile.am diff --git a/cmd/zed/zed.d/Makefile.am b/cmd/zed/zed.d/Makefile.am
index 2c8173b3e..ad39292e4 100644 index 1905a9207..6dc06252a 100644
--- a/cmd/zed/zed.d/Makefile.am --- a/cmd/zed/zed.d/Makefile.am
+++ b/cmd/zed/zed.d/Makefile.am +++ b/cmd/zed/zed.d/Makefile.am
@@ -49,7 +49,7 @@ install-data-hook: @@ -51,7 +51,7 @@ install-data-hook:
for f in $(zedconfdefaults); do \ for f in $(zedconfdefaults); do \
test -f "$(DESTDIR)$(zedconfdir)/$${f}" -o \ test -f "$(DESTDIR)$(zedconfdir)/$${f}" -o \
-L "$(DESTDIR)$(zedconfdir)/$${f}" || \ -L "$(DESTDIR)$(zedconfdir)/$${f}" || \
@@ -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. can contain characters which will be escaped by systemd.
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com> 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/50-zfs.preset.in | 1 +
etc/systemd/system/Makefile.am | 1 + etc/systemd/system/Makefile.am | 1 +
-55
View File
@@ -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> Originally-By: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com> Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
--- ---
man/Makefile.am | 2 +- man/Makefile.am | 2 +-
man/{man1/arcstat.1 => man8/arcstat.8} | 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(-) 1 file changed, 33 insertions(+), 33 deletions(-)
diff --git a/cmd/arcstat/arcstat.in b/cmd/arcstat/arcstat.in 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 --- a/cmd/arcstat/arcstat.in
+++ b/cmd/arcstat/arcstat.in +++ b/cmd/arcstat/arcstat.in
@@ -441,73 +441,73 @@ def calculate(): @@ -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 l2_bufc_data_asize l2_bufc_metadata_asize to .get accessor
(these are only present with a cache device in the pool) (these are only present with a cache device in the pool)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com> 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/arc_summary/arc_summary3 | 28 ++++++++++++++--------------
cmd/arcstat/arcstat.in | 14 +++++++------- cmd/arcstat/arcstat.in | 14 +++++++-------
2 files changed, 21 insertions(+), 21 deletions(-) 2 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/cmd/arc_summary/arc_summary3 b/cmd/arc_summary/arc_summary3 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 --- a/cmd/arc_summary/arc_summary3
+++ b/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 cached evictions:', f_bytes(arc_stats['evict_l2_cached']))
prt_i1('L2 eligible evictions:', f_bytes(arc_stats['evict_l2_eligible'])) prt_i1('L2 eligible evictions:', f_bytes(arc_stats['evict_l2_eligible']))
prt_i2('L2 eligible MFU evictions:', prt_i2('L2 eligible MFU evictions:',
@@ -47,7 +48,7 @@ index 301c485b3..ac46f5843 100755
prt_i1('L2 ineligible evictions:', prt_i1('L2 ineligible evictions:',
f_bytes(arc_stats['evict_l2_ineligible'])) f_bytes(arc_stats['evict_l2_ineligible']))
print() 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_perc(arc_stats['l2_hdr_size'], arc_stats['l2_size']),
f_bytes(arc_stats['l2_hdr_size'])) f_bytes(arc_stats['l2_hdr_size']))
prt_i2('MFU allocated size:', prt_i2('MFU allocated size:',
@@ -79,7 +80,7 @@ index 301c485b3..ac46f5843 100755
print() print()
prt_1('L2ARC breakdown:', f_hits(l2_access_total)) prt_1('L2ARC breakdown:', f_hits(l2_access_total))
diff --git a/cmd/arcstat/arcstat.in b/cmd/arcstat/arcstat.in 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 --- a/cmd/arcstat/arcstat.in
+++ b/cmd/arcstat/arcstat.in +++ b/cmd/arcstat/arcstat.in
@@ -482,8 +482,8 @@ def calculate(): @@ -482,8 +482,8 @@ def calculate():
@@ -0,0 +1,87 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Rich Ercolani <214141+rincebrain@users.noreply.github.com>
Date: Sat, 26 Aug 2023 14:25:46 -0400
Subject: [PATCH] Avoid save/restoring AMX registers to avoid a SPR erratum
Intel SPR erratum SPR4 says that if you trip into a vmexit while
doing FPU save/restore, your AMX register state might misbehave...
and by misbehave, I mean save all zeroes incorrectly, leading to
explosions if you restore it.
Since we're not using AMX for anything, the simple way to avoid
this is to just not save/restore those when we do anything, since
we're killing preemption of any sort across our save/restores.
If we ever decide to use AMX, it's not clear that we have any
way to mitigate this, on Linux...but I am not an expert.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
Closes #14989
Closes #15168
(cherry picked from commit 277f2e587b085d1eb8aa48b4ac0768a9ef5745ab)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
include/os/linux/kernel/linux/simd_x86.h | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/include/os/linux/kernel/linux/simd_x86.h b/include/os/linux/kernel/linux/simd_x86.h
index 660f0d42d..455167ac8 100644
--- a/include/os/linux/kernel/linux/simd_x86.h
+++ b/include/os/linux/kernel/linux/simd_x86.h
@@ -157,6 +157,15 @@
#endif
#endif
+#ifndef XFEATURE_MASK_XTILE
+/*
+ * For kernels where this doesn't exist yet, we still don't want to break
+ * by save/restoring this broken nonsense.
+ * See issue #14989 or Intel errata SPR4 for why
+ */
+#define XFEATURE_MASK_XTILE 0x60000
+#endif
+
#include <linux/mm.h>
#include <linux/slab.h>
@@ -319,18 +328,18 @@ kfpu_begin(void)
union fpregs_state *state = zfs_kfpu_fpregs[smp_processor_id()];
#if defined(HAVE_XSAVES)
if (static_cpu_has(X86_FEATURE_XSAVES)) {
- kfpu_do_xsave("xsaves", &state->xsave, ~0);
+ kfpu_do_xsave("xsaves", &state->xsave, ~XFEATURE_MASK_XTILE);
return;
}
#endif
#if defined(HAVE_XSAVEOPT)
if (static_cpu_has(X86_FEATURE_XSAVEOPT)) {
- kfpu_do_xsave("xsaveopt", &state->xsave, ~0);
+ kfpu_do_xsave("xsaveopt", &state->xsave, ~XFEATURE_MASK_XTILE);
return;
}
#endif
if (static_cpu_has(X86_FEATURE_XSAVE)) {
- kfpu_do_xsave("xsave", &state->xsave, ~0);
+ kfpu_do_xsave("xsave", &state->xsave, ~XFEATURE_MASK_XTILE);
} else if (static_cpu_has(X86_FEATURE_FXSR)) {
kfpu_save_fxsr(&state->fxsave);
} else {
@@ -415,12 +424,12 @@ kfpu_end(void)
union fpregs_state *state = zfs_kfpu_fpregs[smp_processor_id()];
#if defined(HAVE_XSAVES)
if (static_cpu_has(X86_FEATURE_XSAVES)) {
- kfpu_do_xrstor("xrstors", &state->xsave, ~0);
+ kfpu_do_xrstor("xrstors", &state->xsave, ~XFEATURE_MASK_XTILE);
goto out;
}
#endif
if (static_cpu_has(X86_FEATURE_XSAVE)) {
- kfpu_do_xrstor("xrstor", &state->xsave, ~0);
+ kfpu_do_xrstor("xrstor", &state->xsave, ~XFEATURE_MASK_XTILE);
} else if (static_cpu_has(X86_FEATURE_FXSR)) {
kfpu_restore_fxsr(&state->fxsave);
} else {
--
2.39.2
@@ -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);
+5 -6
View File
@@ -4,9 +4,8 @@
0004-import-with-d-dev-disk-by-id-in-scan-service.patch 0004-import-with-d-dev-disk-by-id-in-scan-service.patch
0005-Enable-zed-emails.patch 0005-Enable-zed-emails.patch
0006-dont-symlink-zed-scripts.patch 0006-dont-symlink-zed-scripts.patch
0007-Use-installed-python3.patch 0007-Add-systemd-unit-for-importing-specific-pools.patch
0008-Add-systemd-unit-for-importing-specific-pools.patch 0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch 0009-arcstat-Fix-integer-division-with-python3.patch
0010-arcstat-Fix-integer-division-with-python3.patch 0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch
0011-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch 0011-Avoid-save-restoring-AMX-registers-to-avoid-a-SPR-er.patch
0012-linux-6.3-compat-add-another-bdev_io_acct-case.patch
+1 -1
View File
@@ -10,7 +10,7 @@ SPHINX_BUILD = $(shell dpkg -L python3-sphinx | grep -m 1 "/sphinx-build$$")
export DEB_BUILD_MAINT_OPTIONS = hardening=+all export DEB_BUILD_MAINT_OPTIONS = hardening=+all
%: %:
dh $@ --with autoreconf,python3,sphinxdoc --parallel dh $@ --with autoreconf,python3,sphinxdoc
adapt_meta_file: adapt_meta_file:
@# Embed the downstream version in the module. @# Embed the downstream version in the module.
+1 -1
View File
@@ -60,7 +60,7 @@ do
case "${ret}" in case "${ret}" in
disable);; disable);;
enable) trim_if_not_already_trimming "${pool}" ;; enable) trim_if_not_already_trimming "${pool}" ;;
-|auto) pool_is_nvme_only "${pool}" && trim_if_not_already_trimming "${pool}" ;; -|auto) if pool_is_nvme_only "${pool}"; then trim_if_not_already_trimming "${pool}"; fi ;;
*) cat > /dev/stderr <<EOF *) cat > /dev/stderr <<EOF
$0: [WARNING] illegal value "${ret}" for property "${PROPERTY_NAME}" of ZFS dataset "${pool}". $0: [WARNING] illegal value "${ret}" for property "${PROPERTY_NAME}" of ZFS dataset "${pool}".
$0: Acceptable choices for this property are: auto, enable, disable. The default is auto. $0: Acceptable choices for this property are: auto, enable, disable. The default is auto.
+2
View File
@@ -31,6 +31,7 @@ sbin/zstream
sbin/zstreamdump sbin/zstreamdump
usr/bin/zvol_wait usr/bin/zvol_wait
usr/lib/modules-load.d/ lib/ usr/lib/modules-load.d/ lib/
usr/lib/zfs-linux/zfs_prepare_disk
usr/lib/zfs-linux/zpool.d/ usr/lib/zfs-linux/zpool.d/
usr/lib/zfs-linux/zpool_influxdb usr/lib/zfs-linux/zpool_influxdb
usr/sbin/arc_summary usr/sbin/arc_summary
@@ -68,6 +69,7 @@ usr/share/man/man8/zfs-list.8
usr/share/man/man8/zfs-load-key.8 usr/share/man/man8/zfs-load-key.8
usr/share/man/man8/zfs-mount-generator.8 usr/share/man/man8/zfs-mount-generator.8
usr/share/man/man8/zfs-mount.8 usr/share/man/man8/zfs-mount.8
usr/share/man/man8/zfs_prepare_disk.8
usr/share/man/man8/zfs-program.8 usr/share/man/man8/zfs-program.8
usr/share/man/man8/zfs-project.8 usr/share/man/man8/zfs-project.8
usr/share/man/man8/zfs-projectspace.8 usr/share/man/man8/zfs-projectspace.8