29 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
Thomas Lamprecht e697cc5992 buildsys: add pbs to upload target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-21 11:12:09 +02:00
Fabian Grünbichler 755c71660a d/control: add transitional zfs-dbg package
suggesting the new -dbgsym packages without having a strict dependency
on a specific version of the library packages, like the old no longer
built zfs-dbg package had.

this commit can be reverted after the package has been uploaded once, or
kept for one release cycle if we might do the -dbgsym migration in
oldstable as well to avoid the oldstable zfs-dbg package version
overtaking the transitional one here.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-07-21 11:11:24 +02:00
Fabian Grünbichler 4f457a8285 build: switch upload target to bullseye
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2021-07-21 11:11:24 +02:00
Thomas Lamprecht 7764433c70 bump version to 2.0.5-pve1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-07-09 18:24:34 +02:00
Stoiko Ivanov be2dd8e629 update submodule and patches to ZFS 2.0.5
fixes #2546

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-07-09 18:15:54 +02:00
Stoiko Ivanov 5881d024a7 do not restart most services upon upgrade
zfs-zed is the only classical daemon, which benefits from a restart,
so restart only zfs-zed.

Noticed during the transition from ZFS 0.8.x to 2.0.0 zvol_wait, which
is called by zfs-volume-wait.service was changed to also output the
redacted_snap property of the datasets. This property does not exist
if the kernelmodule is still 0.8.x, causing an error to be printed to
the journal.

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-07-09 18:15:54 +02:00
Stoiko Ivanov fb2819a99e drop unused lintian overrides
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov a06fb96702 update lintian-overrides
mostly taken from debian-upstream

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov f17f9da9f3 sync scrub and trim cronjobs with debian upstream
* Pull in the changes to the automatic scrub cronjob from
  debian-upstream [0] commit
  f6d45405df0a2ed2748975667e8ea50714034d13
* Add a script and cronjob for regular trimming of pools
* Change the logic to scrub/trim pools based on a per pool('s root
  dataset property)

pulled the changes in as one commit instead of cherry-picking, since
the planned and reverted debconf questions would have caused
unneccessary churn.

commits identified by running:
`git log --full-diff -- debian/tree/zfsutils-linux/usr/lib/zfs-linux`
in a worktree from [0].

[0] https://salsa.debian.org/zfsonlinux-team/zfs/
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov cb19e379cd Remove /etc/zfs/zed.d on purge
(cherry picked from debian-upstream [0] commits
d0ba1164dcf8e566a5134d8fadef4c84d5afdf6c and
3ddeaa236e758e3dee7a9eedac66a001a11953c3)

[0] https://salsa.debian.org/zfsonlinux-team/zfs/
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov 85fab4fe16 Adjust zed.d symlink-preservation
Closes BTS#983401.

 - Overwrite dangling symlinks on install
 - Does not clobber symlinks on removal

Signed-off-by: Antonio Russo <aerusso@aerusso.net>
(cherry picked from commit b024d59f5976ea75ac9a0b48612b7032d24513ee)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov 53b89f82e3 Bump Standards-Version to 4.5.1 (no changes)
(adapted from debian-upstream [0] commit
b8999dc6ed1c821d5ca0e6474d7d57718b700dbf)

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

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov c12e9c738d compat 12 automatically adds initramfs trigger
Signed-off-by: Antonio Russo <aerusso@aerusso.net>
(cherry picked from commit 1564c05d0dfa30bef120f86529a3f026538e4c4e)
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov 8af2630849 Bump debhelper compat level to 12.
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov 1cd71b3b73 buildsys: switch to automatic debug packages
automatically generated -dbgsym packages has become the default
(see dh_strip(1) and [0]).
While we have no direct need to migrate, it helps in avoiding
debhelper bug 939164 (see [1]), when migrating to debhelper-compat 12.
(alternative option would be to depend on debhelper from backports, or
to skip dh_dwz).

The change is well described in dh_strip(1).

[0] https://wiki.debian.org/AutomaticDebugPackages
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939164
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov 33bcc36963 Elaborate the functionality of ZED in long description. (Closes: #979414)
cherry picked from debian upstream [0]

(cherry picked from commit d37e013ff5f7b811b235c62ea5c2c10828aceb7b)
Originally-by: Mo Zhou <cdluminate@gmail.com>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>

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

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov d75312dc84 Reflect libssl requirement of libzfs
cherry picked from debian-upstream [0]

(cherry picked from commit dbe70331081033bbedfa52d641f82e784972f6cf)
Originally-by: Antonio Russo <aerusso@aerusso.net>
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>

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

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov 51204ca4f7 buildsys: add all packages to make variable and sort
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
Stoiko Ivanov 4b661efd65 buildsys: unify '{' and '(' in Makefile
Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
2021-06-18 15:25:41 +02:00
19 changed files with 248 additions and 61 deletions
+28 -18
View File
@@ -7,22 +7,32 @@ ZFSDIR=zfs-linux_${ZFSVER}
ZFSSRC=upstream
ZFS_DEB1= libnvpair3linux_${ZFSPKGVER}_amd64.deb
ZFS_DEB2= \
ZFS_DEB_BINARY = \
libpam-zfs_${ZFSPKGVER}_amd64.deb \
libuutil3linux_${ZFSPKGVER}_amd64.deb \
libzfs4linux_${ZFSPKGVER}_amd64.deb \
libzfslinux-dev_${ZFSPKGVER}_amd64.deb \
libzfsbootenv1linux_${ZFSPKGVER}_amd64.deb \
libzpool4linux_${ZFSPKGVER}_amd64.deb \
zfs-dbg_${ZFSPKGVER}_amd64.deb \
zfs-zed_${ZFSPKGVER}_amd64.deb \
zfs-initramfs_${ZFSPKGVER}_all.deb \
zfs-test_${ZFSPKGVER}_amd64.deb \
zfsutils-linux_${ZFSPKGVER}_amd64.deb
ZFS_DEBS= $(ZFS_DEB1) $(ZFS_DEB2)
zfs-test_${ZFSPKGVER}_amd64.deb \
zfsutils-linux_${ZFSPKGVER}_amd64.deb \
zfs-zed_${ZFSPKGVER}_amd64.deb
ZFS_DBG_DEBS = $(patsubst %_${ZFSPKGVER}_amd64.deb, %-dbgsym_${ZFSPKGVER}_amd64.deb, ${ZFS_DEB1} ${ZFS_DEB_BINARY})
ZFS_DEB2= ${ZFS_DEB_BINARY} \
libzfslinux-dev_${ZFSPKGVER}_amd64.deb \
python3-pyzfs_${ZFSPKGVER}_amd64.deb \
pyzfs-doc_${ZFSPKGVER}_all.deb \
spl_${ZFSPKGVER}_all.deb \
zfs-initramfs_${ZFSPKGVER}_all.deb
DEBS= ${ZFS_DEB1} ${ZFS_DEB2} ${ZFS_DBG_DEBS}
ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc
all: deb
.PHONY: deb
deb: ${ZFS_DEBS}
deb: ${DEBS}
.PHONY: dsc
dsc: ${ZFS_DSC}
@@ -30,7 +40,7 @@ dsc: ${ZFS_DSC}
.PHONY: kernel
kernel: dsc
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
dinstall: ${DEBS}
@@ -38,22 +48,22 @@ dinstall: ${DEBS}
.PHONY: submodule
submodule:
test -f "$(ZFSSRC)/README.md" || git submodule update --init
$(ZFSSRC)/README.md: submodule
test -f "${ZFSSRC}/README.md" || git submodule update --init
${ZFSSRC}/README.md: submodule
.PHONY: zfs
zfs: $(ZFS_DEBS)
$(ZFS_DEB2): $(ZFS_DEB1)
$(ZFS_DEB1): ${ZFSDIR}
zfs: ${DEBS}
${ZFS_DEB2}: ${ZFS_DEB1}
${ZFS_DEB1}: ${ZFSDIR}
cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
lintian ${ZFS_DEBS}
lintian ${DEBS}
${ZFS_DSC}: ${ZFSDIR}
tar czf zfs-linux_${ZFSVER}.orig.tar.gz ${ZFSDIR}
cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d
lintian $@
${ZFSDIR}: $(ZFSSRC)/README.md $(ZFSSRC) ${ZFSPKG}
${ZFSDIR}: ${ZFSSRC}/README.md ${ZFSSRC} ${ZFSPKG}
rm -rf ${ZFSDIR} ${ZFSDIR}.tmp
cp -a ${ZFSSRC} ${ZFSDIR}.tmp
cp -a ${ZFSPKG} ${ZFSDIR}.tmp/debian
@@ -69,4 +79,4 @@ distclean: clean
.PHONY: upload
upload: ${DEBS}
tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg --dist buster --arch amd64
tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist buster --arch amd64
+28
View File
@@ -1,3 +1,31 @@
zfs-linux (2.0.7-pve1) buster; urgency=medium
* update ZFS to 2.0.7
-- Proxmox Support Team <support@proxmox.com> Wed, 12 Jan 2022 18:46:26 +0100
zfs-linux (2.0.6-pve1~bpo10+1) buster; urgency=medium
* update ZFS to 2.0.6
-- Proxmox Support Team <support@proxmox.com> Tue, 28 Sep 2021 09:19:18 +0200
zfs-linux (2.0.5-pve1~bpo10+1) buster; urgency=medium
* Rebuild for buster based releases
-- Proxmox Support Team <support@proxmox.com> Wed, 21 Jul 2021 18:01:07 +0200
zfs-linux (2.0.5-pve1) bullseye; urgency=medium
* update ZFS to 2.0.5
* do not restart most services upon upgrade
* add a script and cronjob for regular trimming of pools
-- Proxmox Support Team <support@proxmox.com> Fri, 09 Jul 2021 18:23:58 +0200
zfs-linux (2.0.4-pve1) pve pmg; urgency=medium
* update ZFS to 2.0.4
-1
View File
@@ -1 +0,0 @@
10
+23 -22
View File
@@ -3,7 +3,7 @@ Section: contrib/kernel
Priority: optional
Maintainer: Proxmox Support Team <support@proxmox.com>
Build-Depends: abigail-tools,
debhelper (>= 10~),
debhelper-compat (= 12),
dh-python,
libblkid-dev,
libelf-dev,
@@ -17,7 +17,7 @@ Build-Depends: abigail-tools,
python3-all-dev,
uuid-dev,
zlib1g-dev
Standards-Version: 4.5.0
Standards-Version: 4.5.1
Homepage: https://www.zfsonlinux.org/
Vcs-Git: https://git.proxmox.com/git/zfsonlinux.git
Vcs-Browser: https://git.proxmox.com/?p=zfsonlinux.git;a=summary
@@ -65,7 +65,8 @@ Description: Solaris userland utility library for Linux
Package: libzfslinux-dev
Section: contrib/libdevel
Architecture: linux-any
Depends: libnvpair3linux (= ${binary:Version}),
Depends: libssl-dev | libssl1.0-dev,
libnvpair3linux (= ${binary:Version}),
libuutil3linux (= ${binary:Version}),
libzfs4linux (= ${binary:Version}),
libzfsbootenv1linux (= ${binary:Version}),
@@ -208,6 +209,11 @@ Description: OpenZFS Event Daemon
traditional filesystems and volume managers. It supports data checksums,
compression, encryption, snapshots, and more.
.
ZED (ZFS Event Daemon) monitors events generated by the ZFS kernel
module. When a zevent (ZFS Event) is posted, ZED will run any ZEDLETs
(ZFS Event Daemon Linkage for Executable Tasks) that have been enabled
for the corresponding zevent class.
.
This package provides the OpenZFS Event Daemon (zed).
Package: zfs-test
@@ -241,25 +247,6 @@ Description: OpenZFS test infrastructure and support scripts
testing and validating a system using OpenZFS. It is entirely optional
and should only be installed and used in test environments.
Package: zfs-dbg
Section: contrib/debug
Priority: optional
Architecture: linux-any
Depends: libnvpair3linux (= ${binary:Version}),
libuutil3linux (= ${binary:Version}),
libzfs4linux (= ${binary:Version}),
libzpool4linux (= ${binary:Version}),
zfs-zed (= ${binary:Version}),
zfsutils-linux (= ${binary:Version}),
${misc:Depends}
Description: Debugging symbols for OpenZFS userland libraries and tools
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 contains the debugging symbols for libzpool4linux, libzfs4linux,
libnvpair3linux, libuutil3linux, zfs-zed and zfsutils-linux.
Package: spl
Section: contrib/metapackages
Architecture: all
@@ -278,3 +265,17 @@ Description: Solaris Porting Layer user-space utilities for Linux (dummy)
to Linux primitives.
.
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.
+2 -2
View File
@@ -1,2 +1,2 @@
libzfsbootenv1linux: package-name-doesnt-match-sonames
libzfsbootenv1linux: extra-license-file usr/share/doc/libzfsbootenv1linux/LICENSE.gz
package-name-doesnt-match-sonames
extra-license-file usr/share/doc/libzfsbootenv1linux/LICENSE.gz
+1 -1
View File
@@ -13,7 +13,7 @@ Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/cmd/zed/zed.d/zed.rc b/cmd/zed/zed.d/zed.rc
index df560f921..4ce7af744 100644
index 1c278b2ef..41c075c09 100644
--- a/cmd/zed/zed.d/zed.rc
+++ b/cmd/zed/zed.d/zed.rc
@@ -15,7 +15,7 @@
+3 -3
View File
@@ -28,7 +28,7 @@ index 3788543b0..c7ee4ae9a 100755
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 f89cb3b31..375d483f7 100755
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
@@ -41,10 +41,10 @@ index f89cb3b31..375d483f7 100755
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 394fe95bb..43560aac5 100755
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
@@ -93,7 +93,7 @@ log_must zfs snapshot $POOL/fs@c
@@ -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
+10 -2
View File
@@ -50,7 +50,7 @@ override_dh_auto_test:
override_dh_auto_test:
ifeq (amd64,$(DEB_HOST_ARCH))
# Upstream provides an ABI guarantee that we validate here
$(MAKE) checkabi
-$(MAKE) checkabi
endif
# The dh_auto_test rule is disabled because
@@ -92,7 +92,7 @@ override_dh_makeshlibs:
dh_makeshlibs -a -V
override_dh_strip:
dh_strip --dbg-package=zfs-dbg
dh_strip --dbgsym-migration='zfs-dbg (<< 2.0.4~)'
override_dh_auto_clean:
find . -name .gitignore -delete
@@ -107,6 +107,14 @@ override_dh_install:
override_dh_missing:
dh_missing --fail-missing
override_dh_installsystemd:
# these to lines prevent the restarting of all systemd services, except
# zfs-zed - they should not be restarted (importing, mounting, creating
# links in /dev, and can cause erros in the log
# (upon major.minor change)
dh_installsystemd --no-stop-on-upgrade -X zfs-zed.service
dh_installsystemd --name zfs-zed
override_dh_installdocs:
dh_installdocs
ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS)))
+38 -5
View File
@@ -1,12 +1,45 @@
#!/bin/sh -eu
# Scrub all healthy pools that are not already scrubbing.
# directly exit successfully when zfs module is not loaded
if ! [ -d /sys/module/zfs ]; then
exit 0
fi
# [auto] / enable / disable
PROPERTY_NAME="org.debian:periodic-scrub"
get_property () {
# Detect the ${PROPERTY_NAME} property on a given pool.
# We are abusing user-defined properties on the root dataset,
# 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.
pool="$1"
zfs get -H -o value "${PROPERTY_NAME}" "${pool}" 2>/dev/null || return 1
}
scrub_if_not_scrub_in_progress () {
pool="$1"
if ! zpool status "${pool}" | grep -q "scrub in progress"; then
# Ignore errors and continue with scrubbing other pools.
zpool scrub "${pool}" || true
fi
}
# Scrub all healthy pools that are not already scrubbing as per their configs.
zpool list -H -o health,name 2>&1 | \
awk 'BEGIN {FS="\t"} {if ($1 ~ /^ONLINE/) print $2}' | \
awk -F'\t' '$1 == "ONLINE" {print $2}' | \
while read pool
do
if ! zpool status "$pool" | grep -q "scrub in progress"
then
zpool scrub "$pool"
# read user-defined config
ret=$(get_property "${pool}")
if [ $? -ne 0 ] || [ "disable" = "${ret}" ]; then
:
elif [ "-" = "${ret}" ] || [ "auto" = "${ret}" ] || [ "enable" = "${ret}" ]; then
scrub_if_not_scrub_in_progress "${pool}"
else
cat > /dev/stderr <<EOF
$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.
EOF
fi
done
+60
View File
@@ -0,0 +1,60 @@
#!/bin/sh -eu
# directly exit successfully when zfs module is not loaded
if ! [ -d /sys/module/zfs ]; then
exit 0
fi
# [auto] / enable / disable
PROPERTY_NAME="org.debian:periodic-trim"
get_property () {
# Detect the ${PROPERTY_NAME} property on a given pool.
# We are abusing user-defined properties on the root dataset,
# 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.
pool="$1"
zfs get -H -o value "${PROPERTY_NAME}" "${pool}" 2>/dev/null || return 1
}
trim_if_not_already_trimming () {
pool="$1"
if ! zpool status "${pool}" | grep -q "trimming"; then
# Ignore errors (i.e. HDD pools),
# and continue with trimming other pools.
zpool trim "${pool}" || true
fi
}
zpool_is_nvme_only () {
zpool=$1
# get a list of devices attached to the specified zpool
zpool list -vHPL "${zpool}" |
awk -F'\t' '$2 ~ /^\/dev\// {
if($2 !~ /^\/dev\/nvme/)
exit 1
}'
}
# TRIM all healthy pools that are not already trimming as per their configs.
zpool list -H -o health,name 2>&1 | \
awk -F'\t' '$1 == "ONLINE" {print $2}' | \
while read pool
do
# read user-defined config
ret=$(get_property "${pool}")
if [ $? -ne 0 ] || [ "disable" = "${ret}" ]; then
:
elif [ "enable" = "${ret}" ]; then
trim_if_not_already_trimming "${pool}"
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: Acceptable choices for this property are: auto, enable, disable. The default is auto.
EOF
fi
done
-1
View File
@@ -1 +0,0 @@
activate update-initramfs
+13 -1
View File
@@ -1 +1,13 @@
zfs-test: 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
arch-dep-package-has-big-usr-share
manpage-without-executable
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
script-not-executable usr/share/zfs/zfs-tests/include/default.cfg
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/cli_root/zpool_wait/zpool_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/redacted_send/redacted.kshlib
package-contains-documentation-outside-usr-share-doc usr/share/zfs/zfs-tests/*
+4
View File
@@ -0,0 +1,4 @@
script-not-executable
# https://github.com/zfsonlinux/zfs/issues/8064
systemd-service-file-refers-to-unusual-wantedby-target
+1 -1
View File
@@ -8,7 +8,7 @@ etcd="/etc/zfs/zed.d"
while read -r file ; do
etcfile="${etcd}/${file}"
[ -e "${etcfile}" ] && continue
ln -s "${zedd}/${file}" "${etcfile}"
ln -sfT "${zedd}/${file}" "${etcfile}"
done < "${zedd}/DEFAULT-ENABLED"
# remove the overrides created in prerm
+17
View File
@@ -0,0 +1,17 @@
#!/bin/sh
set -e
zedd="/usr/lib/zfs-linux/zed.d"
etcd="/etc/zfs/zed.d"
if [ "$1" = "purge" ] && [ -d "$etcd" ] ; then
# remove the overrides created in prerm
find "${etcd}" -maxdepth 1 -lname '/dev/null' -delete
# remove any dangling symlinks to old zedlets
find "${etcd}" -maxdepth 1 -lname "${zedd}/*" -xtype l -delete
# clean up any empty directories
( rmdir "$etcd" && rmdir "/etc/zfs" ) || true
fi
#DEBHELPER#
+2 -2
View File
@@ -7,8 +7,8 @@ etcd="/etc/zfs/zed.d"
if [ "$1" != "failed-upgrade" ] && [ -d "${etcd}" ] && [ -d "${zedd}" ] ; then
while read -r file ; do
etcfile="${etcd}/${file}"
[ -e "${etcfile}" ] && continue
ln -s /dev/null "${etcfile}"
( [ -L "${etcfile}" ] || [ -e "${etcfile}" ] ) && continue
ln -sT /dev/null "${etcfile}"
done < "${zedd}/DEFAULT-ENABLED"
fi
+4 -1
View File
@@ -1,4 +1,7 @@
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# TRIM the first Sunday of every month.
24 0 1-7 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/trim ]; then /usr/lib/zfs-linux/trim; fi
# Scrub the second Sunday of every month.
24 0 8-14 * * root [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/scrub ] && /usr/lib/zfs-linux/scrub
24 0 8-14 * * root if [ $(date +\%w) -eq 0 ] && [ -x /usr/lib/zfs-linux/scrub ]; then /usr/lib/zfs-linux/scrub; fi
+13
View File
@@ -1 +1,14 @@
spare-manual-page
systemd-service-file-refers-to-unusual-wantedby-target
binary-without-manpage usr/sbin/dbufstat
binary-without-manpage usr/sbin/arc_summary
manpage-has-errors-from-man
appstream-metadata-missing-modalias-provide
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-scan.service
spelling-error-in-manpage
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
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