10 Commits

Author SHA1 Message Date
Thomas Lamprecht 8748101cc1 buildsys: fix DEBS variable name
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
(cherry picked from commit b577f030c4)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-01-12 19:39:12 +01:00
Thomas Lamprecht ff279e6b9b bump version to 2.0.7-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-01-12 18:48:41 +01:00
Aron Xu 9b036161c8 d/rules: allow abigail to fail
(cherry picked from debian upstream [0]
commit 5ae98b5499022c2c127d546a7b5aeb906f6f2a6b)

[0] https://salsa.debian.org/zfsonlinux-team/zfs

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2022-01-12 18:46:00 +01:00
Stoiko Ivanov 407d5004a2 update submodule and patches to ZFS 2.0.7
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2022-01-12 18:46:00 +01:00
Thomas Lamprecht b7ce537d24 bump version to 2.0.6-pve1~bpo10+1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-28 09:19:31 +02:00
Thomas Lamprecht 6eb925bd8a drop already applied patches
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-28 09:18:24 +02:00
Thomas Lamprecht a542d21db8 update submodule to zfs-2.0.6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-28 09:16:51 +02:00
Thomas Lamprecht 19953df19b cherry-pick "Revert Consolidate arc_buf allocation checks"
see https://github.com/openzfs/zfs/issues/11531

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-09-08 16:20:54 +02:00
Thomas Lamprecht 337bdb0b13 bump version to 2.0.5-pve1~bpo10+1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-21 18:12:55 +02:00
Thomas Lamprecht bc8bb69f8c buildsys: move upload target back to buster for oldstable backport
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-21 17:57:48 +02:00
31 changed files with 290 additions and 693 deletions
-7
View File
@@ -1,7 +0,0 @@
/*.build
/*.buildinfo
/*.changes
/*.deb
/*.dsc
/*.tar*
/zfs-utils-*.*/
+51 -62
View File
@@ -1,93 +1,82 @@
include /usr/share/dpkg/default.mk
# source form https://github.com/zfsonlinux/ # source form https://github.com/zfsonlinux/
PACKAGE = zfs-linux ZFSPKG=debian
ZFSVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion | cut -d- -f1
ZFSPKGVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion
ZFSDIR=zfs-linux_${ZFSVER}
ZFSSRC=upstream
SRCDIR = upstream ZFS_DEB1= libnvpair3linux_${ZFSPKGVER}_amd64.deb
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_$(DEB_VERSION)_amd64.deb \ libpam-zfs_${ZFSPKGVER}_amd64.deb \
libuutil3linux_$(DEB_VERSION)_amd64.deb \ libuutil3linux_${ZFSPKGVER}_amd64.deb \
libzfs4linux_$(DEB_VERSION)_amd64.deb \ libzfs4linux_${ZFSPKGVER}_amd64.deb \
libzfsbootenv1linux_$(DEB_VERSION)_amd64.deb \ libzfsbootenv1linux_${ZFSPKGVER}_amd64.deb \
libzpool5linux_$(DEB_VERSION)_amd64.deb \ libzpool4linux_${ZFSPKGVER}_amd64.deb \
zfs-test_$(DEB_VERSION)_amd64.deb \ zfs-test_${ZFSPKGVER}_amd64.deb \
zfsutils-linux_$(DEB_VERSION)_amd64.deb \ zfsutils-linux_${ZFSPKGVER}_amd64.deb \
zfs-zed_$(DEB_VERSION)_amd64.deb zfs-zed_${ZFSPKGVER}_amd64.deb
ZFS_DBG_DEBS = $(patsubst %_$(DEB_VERSION)_amd64.deb, %-dbgsym_$(DEB_VERSION)_amd64.deb, $(ZFS_DEB1) $(ZFS_DEB_BINARY)) ZFS_DBG_DEBS = $(patsubst %_${ZFSPKGVER}_amd64.deb, %-dbgsym_${ZFSPKGVER}_amd64.deb, ${ZFS_DEB1} ${ZFS_DEB_BINARY})
ZFS_DEB2= $(ZFS_DEB_BINARY) \ ZFS_DEB2= ${ZFS_DEB_BINARY} \
libzfslinux-dev_$(DEB_VERSION)_amd64.deb \ libzfslinux-dev_${ZFSPKGVER}_amd64.deb \
python3-pyzfs_$(DEB_VERSION)_amd64.deb \ python3-pyzfs_${ZFSPKGVER}_amd64.deb \
pyzfs-doc_$(DEB_VERSION)_all.deb \ pyzfs-doc_${ZFSPKGVER}_all.deb \
spl_$(DEB_VERSION)_all.deb \ spl_${ZFSPKGVER}_all.deb \
zfs-initramfs_$(DEB_VERSION)_all.deb zfs-initramfs_${ZFSPKGVER}_all.deb
DEBS= $(ZFS_DEB1) $(ZFS_DEB2) $(ZFS_DBG_DEBS) DEBS= ${ZFS_DEB1} ${ZFS_DEB2} ${ZFS_DBG_DEBS}
ZFS_DSC = zfs-linux_$(DEB_VERSION).dsc ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc
all: deb all: deb
.PHONY: deb
.PHONY: deb dsc deb: ${DEBS}
deb: $(DEBS) .PHONY: dsc
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: $(ZFS_DSC) kernel: 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 "$(SRCDIR)/README.md" || git submodule update --init test -f "${ZFSSRC}/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_DEB1}
$(ZFS_DEB1): $(BUILDDIR) ${ZFS_DEB1}: ${ZFSDIR}
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
lintian $(DEBS) lintian ${DEBS}
$(ORIG_SRC_TAR): $(BUILDDIR) ${ZFS_DSC}: ${ZFSDIR}
tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR) tar czf zfs-linux_${ZFSVER}.orig.tar.gz ${ZFSDIR}
cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d
lintian $@
$(ZFS_DSC): $(BUILDDIR) $(ORIG_SRC_TAR) ${ZFSDIR}: ${ZFSSRC}/README.md ${ZFSSRC} ${ZFSPKG}
cd $(BUILDDIR); dpkg-buildpackage -S -uc -us -d rm -rf ${ZFSDIR} ${ZFSDIR}.tmp
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 $(PACKAGE)-[0-9]*/ rm -rf *~ *.deb *.changes *.buildinfo *.dsc *.orig.tar.* *.debian.tar.* ${ZFSDIR}
rm -f *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.*
.PHONY: distclean .PHONY: distclean
distclean: clean distclean: clean
.PHONY: upload .PHONY: upload
upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION) upload: ${DEBS}
upload: $(DEBS) tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist buster --arch amd64
tar -cf - $(DEBS) | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)
+9 -97
View File
@@ -1,108 +1,20 @@
zfs-linux (2.1.13-pve1) bookworm; urgency=medium zfs-linux (2.0.7-pve1) buster; urgency=medium
* update ZFS to 2.1.13 * update ZFS to 2.0.7
-- Proxmox Support Team <support@proxmox.com> Thu, 28 Sep 2023 12:22:28 +0200 -- Proxmox Support Team <support@proxmox.com> Wed, 12 Jan 2022 18:46:26 +0100
zfs-linux (2.1.12-pve1) bookworm; urgency=medium zfs-linux (2.0.6-pve1~bpo10+1) buster; urgency=medium
* update ZFS to 2.1.12 * update ZFS to 2.0.6
* zfs trim: avoid exit-failure if last pool isn't nvme-only -- Proxmox Support Team <support@proxmox.com> Tue, 28 Sep 2021 09:19:18 +0200
-- Proxmox Support Team <support@proxmox.com> Tue, 13 Jun 2023 15:25:16 +0200 zfs-linux (2.0.5-pve1~bpo10+1) buster; urgency=medium
zfs-linux (2.1.11-pve2) bookworm; urgency=medium * Rebuild for buster based releases
* re-build for Debian 12 Bookworm based releases -- Proxmox Support Team <support@proxmox.com> Wed, 21 Jul 2021 18:01:07 +0200
-- 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
* update ZFS to 2.1.9
-- Proxmox Support Team <support@proxmox.com> Sat, 28 Jan 2023 15:03:22 +0100
zfs-linux (2.1.7-pve3) bullseye; urgency=medium
* backport a fix for as potentially hanging pipe when resizing it on recv
* backport a fix for setting extended attributes (xattr)
* adapt to 6.1 changes for open syscall with TMPFILE option
-- Proxmox Support Team <support@proxmox.com> Sat, 07 Jan 2023 13:21:57 +0100
zfs-linux (2.1.7-pve2) bullseye; urgency=medium
* backport fix for initramfs script when detecting rootfs legacy mountpoints
-- Proxmox Support Team <support@proxmox.com> Mon, 02 Jan 2023 17:07:18 +0100
zfs-linux (2.1.7-pve1) bullseye; urgency=medium
* update ZFS to 2.1.7
-- Proxmox Support Team <support@proxmox.com> Tue, 06 Dec 2022 16:41:31 +0100
zfs-linux (2.1.6-pve1) bullseye; urgency=medium
* update ZFS to 2.1.6
* symlink zpool_influxdb to /bin
* symlink zfs, zpool to /bin/ for non-root usage
-- Proxmox Support Team <support@proxmox.com> Tue, 04 Oct 2022 16:09:17 +0200
zfs-linux (2.1.5-pve1) bullseye; urgency=medium
* update ZFS to 2.1.5
* Build with libcurl for new keylocation=https://
* d/control: add new zfs-dracut package
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Jun 2022 16:13:24 +0200
zfs-linux (2.1.4-pve1) bullseye; urgency=medium
* update ZFS to 2.1.4
-- Proxmox Support Team <support@proxmox.com> Thu, 24 Mar 2022 09:28:50 +0100
zfs-linux (2.1.3-pve1) bullseye; urgency=medium
* update ZFS to 2.1.3
-- Proxmox Support Team <support@proxmox.com> Fri, 11 Mar 2022 16:36:22 +0100
zfs-linux (2.1.2-pve1) bullseye; urgency=medium
* update ZFS to 2.1.2
-- Proxmox Support Team <support@proxmox.com> Tue, 11 Jan 2022 11:31:34 +0100
zfs-linux (2.1.1-pve3) bullseye; urgency=medium
* zfs-utils: arc stat/summary: guard access to l2arc MFU/MRU stats to avoid
bogus exception when checking the ARC stats/summary on a older, 2.0 based
ZFS kernel module with the newer, 2.1 based, user space tools.
-- Proxmox Support Team <support@proxmox.com> Wed, 10 Nov 2021 09:58:31 +0100
zfs-linux (2.1.1-pve1) bullseye; urgency=medium
* update ZFS to 2.1.1
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Sep 2021 06:16:14 +0200
zfs-linux (2.0.5-pve1) bullseye; urgency=medium zfs-linux (2.0.5-pve1) bullseye; urgency=medium
+19 -25
View File
@@ -5,14 +5,11 @@ Maintainer: Proxmox Support Team <support@proxmox.com>
Build-Depends: abigail-tools, Build-Depends: abigail-tools,
debhelper-compat (= 12), debhelper-compat (= 12),
dh-python, dh-python,
libaio-dev,
libblkid-dev, libblkid-dev,
libcurl4-openssl-dev | libcurl4-gnutls-dev,
libelf-dev, libelf-dev,
libpam0g-dev, libpam0g-dev,
libssl-dev | libssl1.0-dev, libssl-dev | libssl1.0-dev,
libtool, libtool,
libudev-dev,
lsb-release, lsb-release,
python3-cffi, python3-cffi,
python3-setuptools, python3-setuptools,
@@ -73,7 +70,7 @@ Depends: libssl-dev | libssl1.0-dev,
libuutil3linux (= ${binary:Version}), libuutil3linux (= ${binary:Version}),
libzfs4linux (= ${binary:Version}), libzfs4linux (= ${binary:Version}),
libzfsbootenv1linux (= ${binary:Version}), libzfsbootenv1linux (= ${binary:Version}),
libzpool5linux (= ${binary:Version}), libzpool4linux (= ${binary:Version}),
${misc:Depends} ${misc:Depends}
Provides: libnvpair-dev, libuutil-dev Provides: libnvpair-dev, libuutil-dev
Description: OpenZFS filesystem development files for Linux Description: OpenZFS filesystem development files for Linux
@@ -81,18 +78,15 @@ Description: OpenZFS filesystem development files for Linux
libraries of OpenZFS filesystem. libraries of OpenZFS filesystem.
. .
This package includes the development files of libnvpair3, libuutil3, This package includes the development files of libnvpair3, libuutil3,
libzpool5 and libzfs4, libzfsbootenv1. libzpool4 and libzfs4.
Package: libzfs4linux Package: libzfs4linux
Section: contrib/libs Section: contrib/libs
Architecture: linux-any Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends} Depends: ${misc:Depends}, ${shlibs:Depends}
# The libcurl4 is loaded through dlopen("libcurl.so.4").
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=988521
Recommends: libcurl4
Breaks: libzfs2, libzfs2linux, libzfs3linux, libzfs4 Breaks: libzfs2, libzfs2linux, libzfs3linux, libzfs4
Replaces: libzfs2, libzfs2linux, libzfs3linux, libzfs4 Replaces: libzfs2, libzfs2linux, libzfs3linux, libzfs4
Description: OpenZFS filesystem library for Linux - general support Description: OpenZFS filesystem library for Linux
OpenZFS is a storage platform that encompasses the functionality of OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums, traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more. compression, encryption, snapshots, and more.
@@ -112,7 +106,7 @@ Description: OpenZFS filesystem library for Linux
. .
The zfsbootenv library provides support for modifying ZFS label information. The zfsbootenv library provides support for modifying ZFS label information.
Package: libzpool5linux Package: libzpool4linux
Section: contrib/libs Section: contrib/libs
Architecture: linux-any Architecture: linux-any
Depends: ${misc:Depends}, ${shlibs:Depends} Depends: ${misc:Depends}, ${shlibs:Depends}
@@ -186,24 +180,11 @@ Description: OpenZFS root filesystem capabilities for Linux - initramfs
This package adds OpenZFS to the system initramfs with a hook This package adds OpenZFS to the system initramfs with a hook
for the initramfs-tools infrastructure. for the initramfs-tools infrastructure.
Package: zfs-dracut
Architecture: all
Depends: dracut,
zfsutils-linux (>= ${source:Version}),
${misc:Depends}
Description: OpenZFS root filesystem capabilities for Linux - dracut
OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
This package adds OpenZFS to the system initramfs with a hook
for the dracut infrastructure.
Package: zfsutils-linux 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: zfs-zed Recommends: lsb-base, 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
@@ -223,7 +204,6 @@ Architecture: linux-any
Depends: zfsutils-linux (>= ${binary:Version}), Depends: zfsutils-linux (>= ${binary:Version}),
${misc:Depends}, ${misc:Depends},
${shlibs:Depends} ${shlibs:Depends}
Recommends: bsd-mailx | mailutils
Description: OpenZFS Event Daemon Description: OpenZFS Event Daemon
OpenZFS is a storage platform that encompasses the functionality of OpenZFS is a storage platform that encompasses the functionality of
traditional filesystems and volume managers. It supports data checksums, traditional filesystems and volume managers. It supports data checksums,
@@ -285,3 +265,17 @@ Description: Solaris Porting Layer user-space utilities for Linux (dummy)
to Linux primitives. to Linux primitives.
. .
This is a transitional dummy package. It can safely be removed. This is a transitional dummy package. It can safely be removed.
Package: zfs-dbg
Section: contrib/metapackages
Architecture: all
Suggests: libnvpair3linux-dbgsym,
libpam-zfs-dbgsym,
libuutil3linux-dbgsym,
libzfs4linux-dbgsym,
libzfsbootenv1linux-dbgsym,
libzpool4linux-dbgsym,
zfs-test-dbgsym,
zfsutils-linux-dbgsym,
zfs-zed-dbgsym,
Description: Transitional package. It can be safely removed.
+23 -20
View File
@@ -132,9 +132,9 @@ Copyright:
2017, Intel Corporation. 2017, Intel Corporation.
License: CDDL-1.0 License: CDDL-1.0
Files: cmd/zstream/* Files: cmd/zstreamdump/*
Copyright: Copyright:
2013, 2015 Delphix. 2013, 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,6 +201,7 @@ 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/*
@@ -398,7 +399,12 @@ 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/man7/zpool-features.7 Files: man/man5/zfs-events.5
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
@@ -430,7 +436,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
@@ -477,7 +483,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/os/linux/zfs/zfs_uio.c Files: module/zcommon/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
@@ -691,14 +697,13 @@ 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/os/linux/zfs/vdev_disk.c Files: module/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/os/freebsd/zfs/zfs_ctldir.c Files: module/zfs/zfs_ctldir.c
module/os/linux/zfs/zfs_ctldir.c Copyright: 2013, Delphix.
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
@@ -721,8 +726,7 @@ 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/os/freebsd/zfs/zfs_vfsops.c Files: module/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
@@ -737,9 +741,8 @@ 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/os/freebsd/zfs/zfs_znode.c Files: module/zfs/zfs_znode.c
module/os/linux/zfs/zfs_znode.c Copyright: 2013, Delphix.
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
@@ -750,20 +753,20 @@ Copyright: 2013, Saso Kiselkov.
2009, Sun Microsystems, Inc. 2009, Sun Microsystems, Inc.
License: CDDL-1.0 License: CDDL-1.0
Files: module/os/linux/zfs/zpl_ctldir.c Files: module/zfs/zpl_ctldir.c
module/os/linux/zfs/zpl_super.c module/zfs/zpl_super.c
module/os/linux/zfs/zpl_xattr.c module/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/os/linux/zfs/zpl_export.c Files: module/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/os/linux/zfs/zpl_file.c Files: module/zfs/zpl_file.c
module/os/linux/zfs/zpl_inode.c module/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
@@ -1,2 +1,2 @@
package-name-doesnt-match-sonames package-name-doesnt-match-sonames
extra-license-file *usr/share/doc/libzfsbootenv1linux/LICENSE.gz* extra-license-file usr/share/doc/libzfsbootenv1linux/LICENSE.gz
@@ -10,7 +10,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 29 insertions(+), 5 deletions(-) 1 file changed, 29 insertions(+), 5 deletions(-)
diff --git a/config/zfs-meta.m4 b/config/zfs-meta.m4 diff --git a/config/zfs-meta.m4 b/config/zfs-meta.m4
index 20064a0fb..4d5f545ad 100644 index b3c1befaa..660d8ccb9 100644
--- a/config/zfs-meta.m4 --- a/config/zfs-meta.m4
+++ b/config/zfs-meta.m4 +++ b/config/zfs-meta.m4
@@ -1,9 +1,10 @@ @@ -1,9 +1,10 @@
@@ -67,4 +67,4 @@ index 20064a0fb..4d5f545ad 100644
+ elif test ! -f ".nogitrelease" && git rev-parse --git-dir > /dev/null 2>&1; then + elif test ! -f ".nogitrelease" && git rev-parse --git-dir > /dev/null 2>&1; then
_match="${ZFS_META_NAME}-${ZFS_META_VERSION}" _match="${ZFS_META_NAME}-${ZFS_META_VERSION}"
_alias=$(git describe --match=${_match} 2>/dev/null) _alias=$(git describe --match=${_match} 2>/dev/null)
_release=$(echo ${_alias}|sed "s/${ZFS_META_NAME}//"|cut -f3- -d'-'|tr - _) _release=$(echo ${_alias}|cut -f3- -d'-'|sed 's/-/_/g')
@@ -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/etc/systemd/system/zfs-zed.service.in b/etc/systemd/system/zfs-zed.service.in diff --git a/etc/systemd/system/zfs-zed.service.in b/etc/systemd/system/zfs-zed.service.in
index be80025a4..20ce8e632 100644 index 008075138..570e27707 100644
--- a/etc/systemd/system/zfs-zed.service.in --- a/etc/systemd/system/zfs-zed.service.in
+++ b/etc/systemd/system/zfs-zed.service.in +++ b/etc/systemd/system/zfs-zed.service.in
@@ -4,7 +4,7 @@ Documentation=man:zed(8) @@ -4,7 +4,7 @@ Documentation=man:zed(8)
@@ -22,6 +22,6 @@ index be80025a4..20ce8e632 100644
[Service] [Service]
-ExecStart=@sbindir@/zed -F -ExecStart=@sbindir@/zed -F
+ExecStart=/usr/sbin/zed -F +ExecStart=/usr/sbin/zed -F
Restart=always Restart=on-abort
[Install] [Install]
@@ -14,15 +14,15 @@ 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/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in diff --git a/etc/systemd/system/zfs-import-scan.service.in b/etc/systemd/system/zfs-import-scan.service.in
index 598ef501b..e4f3a70c1 100644 index f0317e23e..9a5e9cb17 100644
--- a/etc/systemd/system/zfs-import-scan.service.in --- a/etc/systemd/system/zfs-import-scan.service.in
+++ b/etc/systemd/system/zfs-import-scan.service.in +++ b/etc/systemd/system/zfs-import-scan.service.in
@@ -13,7 +13,7 @@ ConditionPathIsDirectory=/sys/module/zfs @@ -13,7 +13,7 @@ ConditionPathIsDirectory=/sys/module/zfs
[Service] [Service]
Type=oneshot Type=oneshot
RemainAfterExit=yes RemainAfterExit=yes
-ExecStart=@sbindir@/zpool import -aN -o cachefile=none $ZPOOL_IMPORT_OPTS -ExecStart=@sbindir@/zpool import -aN -o cachefile=none
+ExecStart=@sbindir@/zpool import -aN -d /dev/disk/by-id -o cachefile=none $ZPOOL_IMPORT_OPTS +ExecStart=@sbindir@/zpool import -aN -d /dev/disk/by-id -o cachefile=none
[Install] [Install]
WantedBy=zfs-import.target WantedBy=zfs-import.target
+13 -4
View File
@@ -9,14 +9,23 @@ behavior of mdadm.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
--- ---
cmd/zed/zed.d/zed.rc | 2 +- cmd/zed/zed.d/zed.rc | 4 ++--
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 2 insertions(+), 2 deletions(-)
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 1dfd43454..0180dd827 100644 index 1c278b2ef..41c075c09 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" @@ -15,7 +15,7 @@
# Email will only be sent if ZED_EMAIL_ADDR is defined.
# Disabled by default; uncomment to enable.
#
-#ZED_EMAIL_ADDR="root"
+ZED_EMAIL_ADDR="root"
##
# Name or path of executable responsible for sending notifications via email;
@@ -41,7 +41,7 @@
## ##
# Minimum number of seconds between notifications for a similar event. # Minimum number of seconds between notifications for a similar event.
# #
+2 -4
View File
@@ -11,16 +11,15 @@ 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 1905a9207..6dc06252a 100644 index 8b2d0c200..118c96547 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
@@ -51,7 +51,7 @@ install-data-hook: @@ -48,6 +48,6 @@ 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}" || \
@@ -28,4 +27,3 @@ index 1905a9207..6dc06252a 100644
+ echo "$${f}" >> "$(DESTDIR)$(zedexecdir)/DEFAULT-ENABLED" ; \ + echo "$${f}" >> "$(DESTDIR)$(zedexecdir)/DEFAULT-ENABLED" ; \
done done
chmod 0600 "$(DESTDIR)$(zedconfdir)/zed.rc" chmod 0600 "$(DESTDIR)$(zedconfdir)/zed.rc"
+55
View File
@@ -0,0 +1,55 @@
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 d52f0261a..18356b017 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
# ZoL 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
@@ -11,7 +11,6 @@ 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 +
@@ -32,7 +31,7 @@ index e4056a92c..030611419 100644
enable zfs-mount.service enable zfs-mount.service
enable zfs-share.service enable zfs-share.service
diff --git a/etc/systemd/system/Makefile.am b/etc/systemd/system/Makefile.am diff --git a/etc/systemd/system/Makefile.am b/etc/systemd/system/Makefile.am
index 35f833de5..af3ae597c 100644 index c374a52ac..25d1b99d7 100644
--- a/etc/systemd/system/Makefile.am --- a/etc/systemd/system/Makefile.am
+++ b/etc/systemd/system/Makefile.am +++ b/etc/systemd/system/Makefile.am
@@ -7,6 +7,7 @@ systemdunit_DATA = \ @@ -7,6 +7,7 @@ systemdunit_DATA = \
@@ -1,52 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Stoiko Ivanov <s.ivanov@proxmox.com>
Date: Thu, 4 Feb 2021 19:01:12 +0100
Subject: [PATCH] Patch: move manpage arcstat(1) to arcstat(8).
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 +-
2 files changed, 2 insertions(+), 2 deletions(-)
rename man/{man1/arcstat.1 => man8/arcstat.8} (99%)
diff --git a/man/Makefile.am b/man/Makefile.am
index 64650c2b9..95a66a62f 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -8,7 +8,6 @@ dist_man_MANS = \
man1/ztest.1 \
man1/raidz_test.1 \
man1/zvol_wait.1 \
- man1/arcstat.1 \
\
man5/vdev_id.conf.5 \
\
@@ -22,6 +21,7 @@ dist_man_MANS = \
man7/zpoolconcepts.7 \
man7/zpoolprops.7 \
\
+ man8/arcstat.8 \
man8/fsck.zfs.8 \
man8/mount.zfs.8 \
man8/vdev_id.8 \
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 a69cd8937..dfe9c971b 100644
--- a/man/man1/arcstat.1
+++ b/man/man8/arcstat.8
@@ -13,7 +13,7 @@
.\" Copyright (c) 2020 by AJ Jordan. All rights reserved.
.\"
.Dd May 26, 2021
-.Dt ARCSTAT 1
+.Dt ARCSTAT 8
.Os
.
.Sh NAME
@@ -0,0 +1,54 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Stoiko Ivanov <s.ivanov@proxmox.com>
Date: Thu, 4 Feb 2021 19:01:12 +0100
Subject: [PATCH] Patch: move manpage arcstat(1) to arcstat(8).
Originally-By: Mo Zhou <cdluminate@gmail.com>
Originally-By: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
---
man/man1/Makefile.am | 2 +-
man/man8/Makefile.am | 1 +
man/{man1/arcstat.1 => man8/arcstat.8} | 2 +-
3 files changed, 3 insertions(+), 2 deletions(-)
rename man/{man1/arcstat.1 => man8/arcstat.8} (99%)
diff --git a/man/man1/Makefile.am b/man/man1/Makefile.am
index 8d7457a3e..101af7b6c 100644
--- a/man/man1/Makefile.am
+++ b/man/man1/Makefile.am
@@ -1,4 +1,4 @@
-dist_man_MANS = zhack.1 ztest.1 raidz_test.1 zvol_wait.1 arcstat.1
+dist_man_MANS = zhack.1 ztest.1 raidz_test.1 zvol_wait.1
EXTRA_DIST = cstyle.1
if BUILD_LINUX
diff --git a/man/man8/Makefile.am b/man/man8/Makefile.am
index 07f6aefa6..a757b1c62 100644
--- a/man/man8/Makefile.am
+++ b/man/man8/Makefile.am
@@ -1,6 +1,7 @@
include $(top_srcdir)/config/Substfiles.am
dist_man_MANS = \
+ arcstat.8 \
fsck.zfs.8 \
mount.zfs.8 \
vdev_id.8 \
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 ca508b49c..0aa81849a 100644
--- a/man/man1/arcstat.1
+++ b/man/man8/arcstat.8
@@ -13,7 +13,7 @@
.\" Copyright (c) 2015 by Delphix. All rights reserved.
.\" Copyright (c) 2020 by AJ Jordan. All rights reserved.
.\"
-.TH ARCSTAT 1 "Oct 20, 2020" OpenZFS
+.TH ARCSTAT 8 "Oct 20, 2020" OpenZFS
.SH NAME
arcstat \- report ZFS ARC and L2ARC statistics
.SH SYNOPSIS
@@ -1,134 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Valmiky Arquissandas <kayvlim@gmail.com>
Date: Fri, 8 Oct 2021 16:32:27 +0100
Subject: [PATCH] arcstat: Fix integer division with python3
The arcstat script requests compatibility with python2 and python3, but
PEP 238 modified the / operator and results in erroneous output when
run under python3.
This commit replaces instances of / with //, yielding the expected
result in both versions of Python.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: John Kennedy <john.kennedy@delphix.com>
Reviewed-by: Ryan Moeller <ryan@ixsystems.com>
Signed-off-by: Valmiky Arquissandas <foss@kayvlim.com>
Closes #12603
(cherry picked from commit 2d02bba23d83ae8fede8d281edc255f01ccd28e9)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
cmd/arcstat/arcstat.in | 66 +++++++++++++++++++++---------------------
1 file changed, 33 insertions(+), 33 deletions(-)
diff --git a/cmd/arcstat/arcstat.in b/cmd/arcstat/arcstat.in
index 0128fd817..d2b2e28d1 100755
--- a/cmd/arcstat/arcstat.in
+++ b/cmd/arcstat/arcstat.in
@@ -441,73 +441,73 @@ def calculate():
v = dict()
v["time"] = time.strftime("%H:%M:%S", time.localtime())
- v["hits"] = d["hits"] / sint
- v["miss"] = d["misses"] / sint
+ v["hits"] = d["hits"] // sint
+ v["miss"] = d["misses"] // sint
v["read"] = v["hits"] + v["miss"]
- v["hit%"] = 100 * v["hits"] / v["read"] if v["read"] > 0 else 0
+ v["hit%"] = 100 * v["hits"] // v["read"] if v["read"] > 0 else 0
v["miss%"] = 100 - v["hit%"] if v["read"] > 0 else 0
- v["dhit"] = (d["demand_data_hits"] + d["demand_metadata_hits"]) / sint
- v["dmis"] = (d["demand_data_misses"] + d["demand_metadata_misses"]) / sint
+ v["dhit"] = (d["demand_data_hits"] + d["demand_metadata_hits"]) // sint
+ v["dmis"] = (d["demand_data_misses"] + d["demand_metadata_misses"]) // sint
v["dread"] = v["dhit"] + v["dmis"]
- v["dh%"] = 100 * v["dhit"] / v["dread"] if v["dread"] > 0 else 0
+ v["dh%"] = 100 * v["dhit"] // v["dread"] if v["dread"] > 0 else 0
v["dm%"] = 100 - v["dh%"] if v["dread"] > 0 else 0
- v["phit"] = (d["prefetch_data_hits"] + d["prefetch_metadata_hits"]) / sint
+ v["phit"] = (d["prefetch_data_hits"] + d["prefetch_metadata_hits"]) // sint
v["pmis"] = (d["prefetch_data_misses"] +
- d["prefetch_metadata_misses"]) / sint
+ d["prefetch_metadata_misses"]) // sint
v["pread"] = v["phit"] + v["pmis"]
- v["ph%"] = 100 * v["phit"] / v["pread"] if v["pread"] > 0 else 0
+ v["ph%"] = 100 * v["phit"] // v["pread"] if v["pread"] > 0 else 0
v["pm%"] = 100 - v["ph%"] if v["pread"] > 0 else 0
v["mhit"] = (d["prefetch_metadata_hits"] +
- d["demand_metadata_hits"]) / sint
+ d["demand_metadata_hits"]) // sint
v["mmis"] = (d["prefetch_metadata_misses"] +
- d["demand_metadata_misses"]) / sint
+ d["demand_metadata_misses"]) // sint
v["mread"] = v["mhit"] + v["mmis"]
- v["mh%"] = 100 * v["mhit"] / v["mread"] if v["mread"] > 0 else 0
+ v["mh%"] = 100 * v["mhit"] // v["mread"] if v["mread"] > 0 else 0
v["mm%"] = 100 - v["mh%"] if v["mread"] > 0 else 0
v["arcsz"] = cur["size"]
v["size"] = cur["size"]
v["c"] = cur["c"]
- v["mfu"] = d["mfu_hits"] / sint
- v["mru"] = d["mru_hits"] / sint
- v["mrug"] = d["mru_ghost_hits"] / sint
- v["mfug"] = d["mfu_ghost_hits"] / sint
- v["eskip"] = d["evict_skip"] / sint
- v["el2skip"] = d["evict_l2_skip"] / sint
- v["el2cach"] = d["evict_l2_cached"] / sint
- v["el2el"] = d["evict_l2_eligible"] / sint
- v["el2mfu"] = d["evict_l2_eligible_mfu"] / sint
- v["el2mru"] = d["evict_l2_eligible_mru"] / sint
- v["el2inel"] = d["evict_l2_ineligible"] / sint
- v["mtxmis"] = d["mutex_miss"] / sint
+ v["mfu"] = d["mfu_hits"] // sint
+ v["mru"] = d["mru_hits"] // sint
+ v["mrug"] = d["mru_ghost_hits"] // sint
+ v["mfug"] = d["mfu_ghost_hits"] // sint
+ v["eskip"] = d["evict_skip"] // sint
+ v["el2skip"] = d["evict_l2_skip"] // sint
+ v["el2cach"] = d["evict_l2_cached"] // sint
+ v["el2el"] = d["evict_l2_eligible"] // sint
+ v["el2mfu"] = d["evict_l2_eligible_mfu"] // sint
+ v["el2mru"] = d["evict_l2_eligible_mru"] // sint
+ v["el2inel"] = d["evict_l2_ineligible"] // sint
+ v["mtxmis"] = d["mutex_miss"] // sint
if l2exist:
- v["l2hits"] = d["l2_hits"] / sint
- v["l2miss"] = d["l2_misses"] / sint
+ v["l2hits"] = d["l2_hits"] // sint
+ v["l2miss"] = d["l2_misses"] // sint
v["l2read"] = v["l2hits"] + v["l2miss"]
- v["l2hit%"] = 100 * v["l2hits"] / v["l2read"] if v["l2read"] > 0 else 0
+ v["l2hit%"] = 100 * v["l2hits"] // v["l2read"] if v["l2read"] > 0 else 0
v["l2miss%"] = 100 - v["l2hit%"] if v["l2read"] > 0 else 0
v["l2asize"] = cur["l2_asize"]
v["l2size"] = cur["l2_size"]
- v["l2bytes"] = d["l2_read_bytes"] / sint
+ v["l2bytes"] = d["l2_read_bytes"] // sint
v["l2pref"] = cur["l2_prefetch_asize"]
v["l2mfu"] = cur["l2_mfu_asize"]
v["l2mru"] = cur["l2_mru_asize"]
v["l2data"] = cur["l2_bufc_data_asize"]
v["l2meta"] = cur["l2_bufc_metadata_asize"]
- v["l2pref%"] = 100 * v["l2pref"] / v["l2asize"]
- v["l2mfu%"] = 100 * v["l2mfu"] / v["l2asize"]
- v["l2mru%"] = 100 * v["l2mru"] / v["l2asize"]
- v["l2data%"] = 100 * v["l2data"] / v["l2asize"]
- v["l2meta%"] = 100 * v["l2meta"] / v["l2asize"]
+ v["l2pref%"] = 100 * v["l2pref"] // v["l2asize"]
+ v["l2mfu%"] = 100 * v["l2mfu"] // v["l2asize"]
+ v["l2mru%"] = 100 * v["l2mru"] // v["l2asize"]
+ v["l2data%"] = 100 * v["l2data"] // v["l2asize"]
+ v["l2meta%"] = 100 * v["l2meta"] // v["l2asize"]
v["grow"] = 0 if cur["arc_no_grow"] else 1
v["need"] = cur["arc_need_free"]
@@ -1,113 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Wed, 10 Nov 2021 09:29:47 +0100
Subject: [PATCH] arc stat/summary: guard access to l2arc MFU/MRU stats
commit 085321621e79a75bea41c2b6511da6ebfbf2ba0a added printing MFU
and MRU stats for 2.1 user space tools, but those keys are not
available in the 2.0 module. That means it may break the arcstat and
arc_summary tools after upgrade to 2.1 (user space), before a reboot
to the new 2.1 ZFS kernel-module happened, due to python raising a
KeyError on the dict access then.
Move those two keys to a .get accessor with `0` as fallback, as it
should be better to show some possible wrong data for new stat-keys
than throwing an exception.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
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 9d0c2d30d..fd2581ae2 100755
--- a/cmd/arc_summary/arc_summary3
+++ b/cmd/arc_summary/arc_summary3
@@ -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:',
- f_perc(arc_stats['evict_l2_eligible_mfu'],
+ f_perc(arc_stats.get('evict_l2_eligible_mfu', 0), # 2.0 module compat
arc_stats['evict_l2_eligible']),
- f_bytes(arc_stats['evict_l2_eligible_mfu']))
+ f_bytes(arc_stats.get('evict_l2_eligible_mfu', 0)))
prt_i2('L2 eligible MRU evictions:',
- f_perc(arc_stats['evict_l2_eligible_mru'],
+ f_perc(arc_stats.get('evict_l2_eligible_mru', 0), # 2.0 module compat
arc_stats['evict_l2_eligible']),
- f_bytes(arc_stats['evict_l2_eligible_mru']))
+ f_bytes(arc_stats.get('evict_l2_eligible_mru', 0)))
prt_i1('L2 ineligible evictions:',
f_bytes(arc_stats['evict_l2_ineligible']))
print()
@@ -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:',
- f_perc(arc_stats['l2_mfu_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_mfu_asize']))
+ f_perc(arc_stats.get('l2_mfu_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_mfu_asize', 0))) # 2.0 module compat
prt_i2('MRU allocated size:',
- f_perc(arc_stats['l2_mru_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_mru_asize']))
+ f_perc(arc_stats.get('l2_mru_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_mru_asize', 0))) # 2.0 module compat
prt_i2('Prefetch allocated size:',
- f_perc(arc_stats['l2_prefetch_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_prefetch_asize']))
+ f_perc(arc_stats.get('l2_prefetch_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_prefetch_asize',0))) # 2.0 module compat
prt_i2('Data (buffer content) allocated size:',
- f_perc(arc_stats['l2_bufc_data_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_bufc_data_asize']))
+ f_perc(arc_stats.get('l2_bufc_data_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_bufc_data_asize', 0))) # 2.0 module compat
prt_i2('Metadata (buffer content) allocated size:',
- f_perc(arc_stats['l2_bufc_metadata_asize'], arc_stats['l2_asize']),
- f_bytes(arc_stats['l2_bufc_metadata_asize']))
+ f_perc(arc_stats.get('l2_bufc_metadata_asize', 0), arc_stats['l2_asize']),
+ f_bytes(arc_stats.get('l2_bufc_metadata_asize', 0))) # 2.0 module compat
print()
prt_1('L2ARC breakdown:', f_hits(l2_access_total))
diff --git a/cmd/arcstat/arcstat.in b/cmd/arcstat/arcstat.in
index d2b2e28d1..8004940b3 100755
--- a/cmd/arcstat/arcstat.in
+++ b/cmd/arcstat/arcstat.in
@@ -482,8 +482,8 @@ def calculate():
v["el2skip"] = d["evict_l2_skip"] // sint
v["el2cach"] = d["evict_l2_cached"] // sint
v["el2el"] = d["evict_l2_eligible"] // sint
- v["el2mfu"] = d["evict_l2_eligible_mfu"] // sint
- v["el2mru"] = d["evict_l2_eligible_mru"] // sint
+ v["el2mfu"] = d.get("evict_l2_eligible_mfu", 0) // sint
+ v["el2mru"] = d.get("evict_l2_eligible_mru", 0) // sint
v["el2inel"] = d["evict_l2_ineligible"] // sint
v["mtxmis"] = d["mutex_miss"] // sint
@@ -498,11 +498,11 @@ def calculate():
v["l2size"] = cur["l2_size"]
v["l2bytes"] = d["l2_read_bytes"] // sint
- v["l2pref"] = cur["l2_prefetch_asize"]
- v["l2mfu"] = cur["l2_mfu_asize"]
- v["l2mru"] = cur["l2_mru_asize"]
- v["l2data"] = cur["l2_bufc_data_asize"]
- v["l2meta"] = cur["l2_bufc_metadata_asize"]
+ v["l2pref"] = cur.get("l2_prefetch_asize", 0)
+ v["l2mfu"] = cur.get("l2_mfu_asize", 0)
+ v["l2mru"] = cur.get("l2_mru_asize", 0)
+ v["l2data"] = cur.get("l2_bufc_data_asize", 0)
+ v["l2meta"] = cur.get("l2_bufc_metadata_asize", 0)
v["l2pref%"] = 100 * v["l2pref"] // v["l2asize"]
v["l2mfu%"] = 100 * v["l2mfu"] // v["l2asize"]
v["l2mru%"] = 100 * v["l2mru"] // v["l2asize"]
@@ -1,87 +0,0 @@
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
+3 -5
View File
@@ -4,8 +4,6 @@
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-Add-systemd-unit-for-importing-specific-pools.patch 0007-Use-installed-python3.patch
0008-Patch-move-manpage-arcstat-1-to-arcstat-8.patch 0008-Add-systemd-unit-for-importing-specific-pools.patch
0009-arcstat-Fix-integer-division-with-python3.patch 0009-Patch-move-manpage-arcstat-1-to-arcstat-8.patch
0010-arc-stat-summary-guard-access-to-l2arc-MFU-MRU-stats.patch
0011-Avoid-save-restoring-AMX-registers-to-avoid-a-SPR-er.patch
+4 -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 dh $@ --with autoreconf,python3,sphinxdoc --parallel
adapt_meta_file: adapt_meta_file:
@# Embed the downstream version in the module. @# Embed the downstream version in the module.
@@ -91,6 +91,9 @@ override_dh_python3:
override_dh_makeshlibs: override_dh_makeshlibs:
dh_makeshlibs -a -V dh_makeshlibs -a -V
override_dh_strip:
dh_strip --dbgsym-migration='zfs-dbg (<< 2.0.4~)'
override_dh_auto_clean: override_dh_auto_clean:
find . -name .gitignore -delete find . -name .gitignore -delete
rm -rf zfs-$(DEB_VERSION_UPSTREAM) rm -rf zfs-$(DEB_VERSION_UPSTREAM)
+26 -35
View File
@@ -1,4 +1,4 @@
#!/bin/sh -u #!/bin/sh -eu
# directly exit successfully when zfs module is not loaded # directly exit successfully when zfs module is not loaded
if ! [ -d /sys/module/zfs ]; then if ! [ -d /sys/module/zfs ]; then
@@ -14,56 +14,47 @@ get_property () {
# since they're not available on pools https://github.com/openzfs/zfs/pull/11680 # since they're not available on pools https://github.com/openzfs/zfs/pull/11680
# TODO: use zpool user-defined property when such feature is available. # TODO: use zpool user-defined property when such feature is available.
pool="$1" pool="$1"
zfs get -H -o value "${PROPERTY_NAME}" "${pool}" 2>/dev/null zfs get -H -o value "${PROPERTY_NAME}" "${pool}" 2>/dev/null || return 1
} }
trim_if_not_already_trimming () { trim_if_not_already_trimming () {
pool="$1" pool="$1"
if ! zpool status "${pool}" | grep -q "trimming"; then if ! zpool status "${pool}" | grep -q "trimming"; then
# This will error on HDD-only pools: doesn't matter # Ignore errors (i.e. HDD pools),
zpool trim "${pool}" # and continue with trimming other pools.
zpool trim "${pool}" || true
fi fi
} }
# Walk up the kernel parent names: zpool_is_nvme_only () {
# this will catch devices from LVM &a. zpool=$1
get_transp () { # get a list of devices attached to the specified zpool
dev="$1" zpool list -vHPL "${zpool}" |
while pd="$(lsblk -dnr -o PKNAME "$dev")"; do awk -F'\t' '$2 ~ /^\/dev\// {
if [ -z "$pd" ]; then if($2 !~ /^\/dev\/nvme/)
break exit 1
else }'
dev="/dev/$pd"
fi
done
lsblk -dnr -o TRAN "$dev"
}
pool_is_nvme_only () {
pool="$1"
# get a list of devices attached to the specified pool
zpool list -vHP "${pool}" | \
awk -F'\t' '$2 ~ "^/dev/" {print $2}' | \
while read -r dev
do
[ "$(get_transp "$dev")" = "nvme" ] || return
done
} }
# TRIM all healthy pools that are not already trimming as per their configs. # TRIM all healthy pools that are not already trimming as per their configs.
zpool list -H -o health,name 2>&1 | \ zpool list -H -o health,name 2>&1 | \
awk -F'\t' '$1 == "ONLINE" {print $2}' | \ awk -F'\t' '$1 == "ONLINE" {print $2}' | \
while read -r pool while read pool
do do
# read user-defined config # read user-defined config
ret=$(get_property "${pool}") || continue ret=$(get_property "${pool}")
case "${ret}" in if [ $? -ne 0 ] || [ "disable" = "${ret}" ]; then
disable);; :
enable) trim_if_not_already_trimming "${pool}" ;; elif [ "enable" = "${ret}" ]; then
-|auto) if pool_is_nvme_only "${pool}"; then trim_if_not_already_trimming "${pool}"; fi ;; trim_if_not_already_trimming "${pool}"
*) cat > /dev/stderr <<EOF elif [ "-" = "${ret}" ] || [ "auto" = "${ret}" ]; then
if zpool_is_nvme_only "${pool}"; then
trim_if_not_already_trimming "${pool}"
fi
else
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.
EOF EOF
esac fi
done done
-2
View File
@@ -1,2 +0,0 @@
usr/lib/dracut
usr/share/man/man7/dracut.zfs.7
-1
View File
@@ -1 +0,0 @@
executable-not-elf-or-script *usr/share/initramfs-tools/scripts/zfs*
+9 -9
View File
@@ -1,13 +1,13 @@
arch-dependent-file-in-usr-share arch-dependent-file-in-usr-share
script-not-executable usr/share/zfs/common.sh
command-in-sbin-has-manpage-in-incorrect-section command-in-sbin-has-manpage-in-incorrect-section
arch-dep-package-has-big-usr-share arch-dep-package-has-big-usr-share
manpage-without-executable manpage-without-executable
national-encoding *usr/share/zfs/zfs-tests/tests/functional/channel_program/lua_core/tst.lib_table.lua* national-encoding usr/share/zfs/zfs-tests/tests/functional/channel_program/lua_core/tst.lib_table.lua
executable-not-elf-or-script *usr/share/zfs/zfs-tests/tests/functional/cli_root/zfs_jail/jail.conf* executable-not-elf-or-script usr/share/zfs/zfs-tests/tests/functional/cli_root/zfs_jail/jail.conf
package-contains-documentation-outside-usr-share-doc *usr/share/zfs/zfs-tests/* script-not-executable usr/share/zfs/zfs-tests/include/default.cfg
script-not-executable *usr/share/zfs/common.sh* script-not-executable usr/share/zfs/zfs-tests/tests/functional/cli_root/zfs_wait/zfs_wait.kshlib
script-not-executable *usr/share/zfs/zfs-tests/include/default.cfg* script-not-executable usr/share/zfs/zfs-tests/tests/functional/cli_root/zpool_wait/zpool_wait.kshlib
script-not-executable *usr/share/zfs/zfs-tests/tests/functional/cli_root/zfs_wait/zfs_wait.kshlib* script-not-executable usr/share/zfs/zfs-tests/tests/functional/persist_l2arc/persist_l2arc.cfg
script-not-executable *usr/share/zfs/zfs-tests/tests/functional/cli_root/zpool_wait/zpool_wait.kshlib* script-not-executable usr/share/zfs/zfs-tests/tests/functional/redacted_send/redacted.kshlib
script-not-executable *usr/share/zfs/zfs-tests/tests/functional/l2arc/l2arc.cfg* package-contains-documentation-outside-usr-share-doc usr/share/zfs/zfs-tests/*
script-not-executable *usr/share/zfs/zfs-tests/tests/functional/redacted_send/redacted.kshlib*
+4 -14
View File
@@ -8,11 +8,7 @@ lib/systemd/system/zfs-import-scan.service
lib/systemd/system/zfs-import@.service lib/systemd/system/zfs-import@.service
lib/systemd/system/zfs-import.target lib/systemd/system/zfs-import.target
lib/systemd/system/zfs-import.service lib/systemd/system/zfs-import.service
lib/systemd/system/zfs-load-key.service
lib/systemd/system/zfs-mount.service lib/systemd/system/zfs-mount.service
lib/systemd/system/zfs-scrub-monthly@.timer
lib/systemd/system/zfs-scrub-weekly@.timer
lib/systemd/system/zfs-scrub@.service
lib/systemd/system/zfs-share.service lib/systemd/system/zfs-share.service
lib/systemd/system/zfs-volume-wait.service lib/systemd/system/zfs-volume-wait.service
lib/systemd/system/zfs-volumes.target lib/systemd/system/zfs-volumes.target
@@ -32,7 +28,6 @@ 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/zpool.d/ usr/lib/zfs-linux/zpool.d/
usr/lib/zfs-linux/zpool_influxdb
usr/sbin/arc_summary usr/sbin/arc_summary
usr/sbin/arcstat usr/sbin/arcstat
usr/sbin/dbufstat usr/sbin/dbufstat
@@ -40,14 +35,7 @@ usr/share/bash-completion/completions
usr/share/man/man8/arcstat.8 usr/share/man/man8/arcstat.8
usr/share/man/man1/zhack.1 usr/share/man/man1/zhack.1
usr/share/man/man1/zvol_wait.1 usr/share/man/man1/zvol_wait.1
usr/share/man/man4/zfs.4
usr/share/man/man4/spl.4
usr/share/man/man5/ usr/share/man/man5/
usr/share/man/man7/zfsconcepts.7
usr/share/man/man7/zfsprops.7
usr/share/man/man7/zpoolconcepts.7
usr/share/man/man7/zpoolprops.7
usr/share/man/man7/zpool-features.7
usr/share/man/man8/fsck.zfs.8 usr/share/man/man8/fsck.zfs.8
usr/share/man/man8/mount.zfs.8 usr/share/man/man8/mount.zfs.8
usr/share/man/man8/vdev_id.8 usr/share/man/man8/vdev_id.8
@@ -91,6 +79,8 @@ usr/share/man/man8/zfs-userspace.8
usr/share/man/man8/zfs-wait.8 usr/share/man/man8/zfs-wait.8
usr/share/man/man8/zfs.8 usr/share/man/man8/zfs.8
usr/share/man/man8/zfs_ids_to_path.8 usr/share/man/man8/zfs_ids_to_path.8
usr/share/man/man8/zfsconcepts.8
usr/share/man/man8/zfsprops.8
usr/share/man/man8/zgenhostid.8 usr/share/man/man8/zgenhostid.8
usr/share/man/man8/zpool-add.8 usr/share/man/man8/zpool-add.8
usr/share/man/man8/zpool-attach.8 usr/share/man/man8/zpool-attach.8
@@ -104,7 +94,6 @@ usr/share/man/man8/zpool-export.8
usr/share/man/man8/zpool-get.8 usr/share/man/man8/zpool-get.8
usr/share/man/man8/zpool-history.8 usr/share/man/man8/zpool-history.8
usr/share/man/man8/zpool-import.8 usr/share/man/man8/zpool-import.8
usr/share/man/man8/zpool_influxdb.8
usr/share/man/man8/zpool-initialize.8 usr/share/man/man8/zpool-initialize.8
usr/share/man/man8/zpool-iostat.8 usr/share/man/man8/zpool-iostat.8
usr/share/man/man8/zpool-labelclear.8 usr/share/man/man8/zpool-labelclear.8
@@ -125,6 +114,7 @@ usr/share/man/man8/zpool-trim.8
usr/share/man/man8/zpool-upgrade.8 usr/share/man/man8/zpool-upgrade.8
usr/share/man/man8/zpool-wait.8 usr/share/man/man8/zpool-wait.8
usr/share/man/man8/zpool.8 usr/share/man/man8/zpool.8
usr/share/man/man8/zpoolconcepts.8
usr/share/man/man8/zpoolprops.8
usr/share/man/man8/zstream.8 usr/share/man/man8/zstream.8
usr/share/man/man8/zstreamdump.8 usr/share/man/man8/zstreamdump.8
usr/share/zfs/compatibility.d/
-3
View File
@@ -1,3 +0,0 @@
sbin/zfs bin/zfs
sbin/zpool bin/zpool
usr/lib/zfs-linux/zpool_influxdb bin/zpool_influxdb
+8 -7
View File
@@ -1,13 +1,14 @@
spare-manual-page spare-manual-page
systemd-service-file-refers-to-unusual-wantedby-target systemd-service-file-refers-to-unusual-wantedby-target
binary-without-manpage *usr/sbin/dbufstat* binary-without-manpage usr/sbin/dbufstat
binary-without-manpage *usr/sbin/arc_summary* binary-without-manpage usr/sbin/arc_summary
manpage-has-errors-from-man manpage-has-errors-from-man
appstream-metadata-missing-modalias-provide appstream-metadata-missing-modalias-provide
command-in-sbin-has-manpage-in-incorrect-section command-in-sbin-has-manpage-in-incorrect-section
package-supports-alternative-init-but-no-init.d-script *lib/systemd/system/zfs-import-cache.service* package-supports-alternative-init-but-no-init.d-script lib/systemd/system/zfs-import-cache.service
package-supports-alternative-init-but-no-init.d-script *lib/systemd/system/zfs-import-scan.service* package-supports-alternative-init-but-no-init.d-script lib/systemd/system/zfs-import-scan.service
spelling-error-in-manpage spelling-error-in-manpage
package-supports-alternative-init-but-no-init.d-script *lib/systemd/system/zfs-volume-wait.service* package-supports-alternative-init-but-no-init.d-script lib/systemd/system/zfs-volume-wait.service
systemd-service-file-missing-documentation-key *lib/systemd/system/zfs-volume-wait.service* systemd-service-file-missing-documentation-key lib/systemd/system/zfs-volume-wait.service
extra-license-file *usr/share/doc/zfsutils-linux/LICENSE.gz* extra-license-file usr/share/doc/zfsutils-linux/LICENSE.gz
package-supports-alternative-init-but-no-init.d-script lib/systemd/system/zfs-load-module.service