Package: zfs-linux / 2.3.2-2~bpo12+1

Metadata

Package Version Patches format
zfs-linux 2.3.2-2~bpo12+1 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
1000 dont symlink zed scripts.patch | (download)

cmd/zed/zed.d/Makefile.am | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 track default symlinks, instead of symlinking
1001 Prevent manual builds in the DKMS source.patch | (download)

config/dkms.m4 | 14 14 + 0 - 0 !
config/user.m4 | 1 1 + 0 - 0 !
2 files changed, 15 insertions(+)

 block manual building in the dkms source tree.
  To avoid messing up future DKMS builds and the zfs installation,
  block manual building of the DKMS source tree.
1002 Check for META and DCH consistency in autoconf.patch | (download)

config/zfs-meta.m4 | 34 29 + 5 - 0 !
1 file changed, 29 insertions(+), 5 deletions(-)

 check for meta and dch consistency in autoconf
1005 enable zed.patch | (download)

cmd/zed/zed.d/zed.rc | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 enable zed emails
 The OpenZFS event daemon monitors pools.  This patch enables the email
 sending function by default (if zed is installed).  This is consistent with
 the default behavior of mdadm.
1006 zed service bindir.patch | (download)

etc/systemd/system/zfs-zed.service.in | 2 1 + 1 - 0 !
etc/zfs/zfs-functions.in | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 fix the path to the zed binary on the systemd unit.
 We install zed into /usr/sbin manually meanwhile the upstream default
 is installing it into /sbin.
 Ubuntu packages also install zed to /usr/sbin, but they ship their own
 zfs-zed unit.
1007 dkms pkgcfg.patch | (download)

scripts/dkms.mkconf | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

---
2100 zfs load module.patch | (download)

contrib/dracut/90zfs/module-setup.sh.in | 3 2 + 1 - 0 !
etc/Makefile.am | 1 1 + 0 - 0 !
etc/systemd/system/50-zfs.preset | 1 1 + 0 - 0 !
etc/systemd/system/zfs-import-cache.service.in | 2 2 + 0 - 0 !
etc/systemd/system/zfs-import-scan.service.in | 2 2 + 0 - 0 !
etc/systemd/system/zfs-load-module.service.in | 17 17 + 0 - 0 !
6 files changed, 25 insertions(+), 1 deletion(-)

 explicitly load the zfs module via systemd service
3100 remove libzfs module timeout.patch | (download)

lib/libzfs/os/linux/libzfs_util_os.c | 10 10 + 0 - 0 !
1 file changed, 10 insertions(+)

 reduce the timeout to zero seconds when running in a container (lp: #1760173)
 When inside a lxd container with zfs storage, zfs list or zpool status
 appears to hang, no output for 10 seconds. Check if we are inside a
 container and set the timeout to zero in this specific case.
force verbose rules.patch | (download)

config/Rules.am | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 force libtool to produce verbose output
move arcstat 1 to 8.patch | (download)

man/Makefile.am | 2 1 + 1 - 0 !
man/man8/arcstat.8 | 260 260 + 0 - 0 !
2 files changed, 261 insertions(+), 1 deletion(-)

---
skip on PREEMPT_RT.patch | (download)

scripts/dkms.mkconf | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 do not attempt to build the modules on preempt_rt kernels
cross compile.patch | (download)

scripts/dkms.mkconf | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

 fix cross-compile of the dkms module.
ubuntu/zfs mount container start.patch | (download)

etc/systemd/system/zfs-mount.service.in | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 start zfs-mount.service after zfs-load-module.service, and if zfs
 module was actually loaded. This should allow installation of probert in
 containers, which pulls in zfs-linux utilities.
fix pyzfs version.patch | (download)

contrib/pyzfs/setup.py.in | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix pyzfs version
 Python does not think x.y.z~rcN is a valid version. Make it happy.
BUILD_EXCLUSIVE_KERNEL_MIN.patch | (download)

scripts/dkms.mkconf | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

 set build_exclusive_kernel_min in dkms.conf


upstream/0001 Fix 2 bugs in non raw send with encryption.patch | (download)

module/zfs/dmu_send.c | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 [patch] fix 2 bugs in non-raw send with encryption

Bisecting identified the redacted send/receive as the source of the bug
for issue #12014. Specifically the call to
dsl_dataset_hold_obj(&fromds) has been replaced by
dsl_dataset_hold_obj_flags() which passes a DECRYPT flag and creates
a key mapping. A subsequent dsl_dataset_rele_flag(&fromds) is missing
and the key mapping is not cleared. This may be inadvertedly used, which
results in arc_untransform failing with ECKSUM in:
 arc_untransform+0x96/0xb0 [zfs]
 dbuf_read_verify_dnode_crypt+0x196/0x350 [zfs]
 dbuf_read+0x56/0x770 [zfs]
 dmu_buf_hold_by_dnode+0x4a/0x80 [zfs]
 zap_lockdir+0x87/0xf0 [zfs]
 zap_lookup_norm+0x5c/0xd0 [zfs]
 zap_lookup+0x16/0x20 [zfs]
 zfs_get_zplprop+0x8d/0x1d0 [zfs]
 setup_featureflags+0x267/0x2e0 [zfs]
 dmu_send_impl+0xe7/0xcb0 [zfs]
 dmu_send_obj+0x265/0x360 [zfs]
 zfs_ioc_send+0x10c/0x280 [zfs]

Fix this by restoring the call to dsl_dataset_hold_obj().

The same applies for to_ds: here replace dsl_dataset_rele(&to_ds) with
dsl_dataset_rele_flags().

Both leaked key mappings will cause a panic when exporting the
sending pool or unloading the zfs module after a non-raw send from
an encrypted filesystem.

Contributions-by: Hank Barta <hbarta@gmail.com>
Contributions-by: Paul Dagnelie <paul.dagnelie@klarasystems.com>
upstream/0002 ARC Avoid overflows in arc_evict_adj.patch | (download)

module/zfs/arc.c | 15 10 + 5 - 0 !
1 file changed, 10 insertions(+), 5 deletions(-)

 [patch] arc: avoid overflows in arc_evict_adj() (#17255)

With certain combinations of target ARC states balance and ghost
hit rates it was possible to get the fractions outside of allowed
range.  This patch limits maximum balance adjustment speed, which
should make it impossible, and also asserts it.

Fixes #17210
Signed-off-by:	Alexander Motin <mav@FreeBSD.org>
Sponsored by:	iXsystems, Inc.
upstream/0003 Sort the blocking snapshots list.patch | (download)

cmd/zfs/zfs_main.c | 2 1 + 1 - 0 !
lib/libzfs/libzfs_iter.c | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 [patch] sort the blocking snapshots list #12751 (#17264)

When multiple snapshots prevent the destruction/rollback of the
respective dataset/snapshot/volume via zfs destroy or zfs rollback,
the error message does not list the blocking snapshots sorted
according to their order of creation. This causes inconvenience and can
lead to confusion, and also creates a contrast with a returned message
from zfs list -t snap function.

Closes: #12751

Signed-off-by: Artem-OSSRevival <artem.vlasenko@ossrevival.org>
upstream/0004 Prefer embedded blocks to dedup.patch | (download)

module/zfs/zio.c | 3 1 + 2 - 0 !
tests/zfs-tests/tests/functional/cli_root/zpool_prefetch/zpool_prefetch_001_pos.ksh | 2 1 + 1 - 0 !
tests/zfs-tests/tests/functional/dedup/dedup_quota.ksh | 2 1 + 1 - 0 !
3 files changed, 3 insertions(+), 4 deletions(-)

 [patch] prefer embedded blocks to dedup

Since embedded blocks introduction 11 years ago, their writing was
blocked if dedup is enabled.  After searching through the modern
code I see no reason for this restriction to exist.  Same time
embedded blocks are dramatically cheaper.  Even regular write of
so small blocks would likely be cheaper than deduplication, even
if the last is successful, not mentioning otherwise.

upstream/0005 Add more descriptive destroy error message.patch | (download)

lib/libzfs/libzfs_dataset.c | 20 20 + 0 - 0 !
1 file changed, 20 insertions(+)

 [patch] add more descriptive destroy error message
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

upstream/0006 Export correct symbols for Lustre Direct IO.patch | (download)

module/os/linux/zfs/abd_os.c | 2 2 + 0 - 0 !
module/zfs/abd.c | 2 2 + 0 - 0 !
module/zfs/dmu_direct.c | 4 2 + 2 - 0 !
3 files changed, 6 insertions(+), 2 deletions(-)

 [patch] export correct symbols for lustre direct i/o

Originally the Lustre ZFS OSD code was going to use zfs_uio_t structs
for supporting Direct I/O with ZFS. However, this has changed to using
abd_t structs instead. This exports the proper symbols that will be used
by the Lustre ZFS OSD code.