Debian Patches

Status for zfs-linux/2.3.0-2

Patch Description Author Forwarded Bugs Origin Last update
upstream/0004-Update-pin_user_pages-calls-for-Direct-I-O.patch [PATCH 16/53] Update pin_user_pages() calls for Direct I/O
Originally #16856 updated Linux Direct I/O requests to use the new
pin_user_pages API. However, it was an oversight that this PR only
handled iov_iter's of type ITER_IOVEC and ITER_UBUF. Other iov_iter
types may try and use the pin_user_pages API if it is available. This
can lead to panics as the iov_iter is not being iterated over correctly
in zfs_uio_pin_user_pages().

Unfortunately, generic iov_iter API's that call pin_user_page_fast() are
protected as GPL only. Rather than update zfs_uio_pin_user_pages() to
account for all iov_iter types, we can simply just call
zfs_uio_get_dio_page_iov_iter() if the iov_iter type is not ITER_IOVEC
or ITER_UBUF. zfs_uio_get_dio_page_iov_iter() calls the
iov_iter_get_pages() calls that can handle any iov_iter type.

In the future it might be worth using the exposed iov_iter iterator
functions that are included in the header iov_iter.h since v6.7. These
functions allow for any iov_iter type to be iterated over and advanced
while applying a step function during iteration. This could possibly be
leveraged in zfs_uio_pin_user_pages().

A new ZFS test case was added to test that a ITER_BVEC is handled
correctly using this new code path. This test case was provided though
issue #16956.

Closes #16956
Closes #17006
Brian Atkinson <batkinson@lanl.gov> no 2025-01-30
1000-dont-symlink-zed-scripts.patch track default symlinks, instead of symlinking not-needed
1001-Prevent-manual-builds-in-the-DKMS-source.patch 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.
unknown not-needed ubuntu 2017-10-06
1002-Check-for-META-and-DCH-consistency-in-autoconf.patch check for META and dch consistency in autoconf not-needed
1005-enable-zed.patch 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.
Richard Laager <rlaager@wiktel.com> not-needed
1006-zed-service-bindir.patch 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.
Chris Dos <chris@chrisdos.com> not-needed debian
1007-dkms-pkgcfg.patch not-needed
2100-zfs-load-module.patch explicitly load the ZFS module via systemd service Ubuntu developers not-needed
3100-remove-libzfs-module-timeout.patch 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.
not-needed upstream ubuntu
force-verbose-rules.patch force libtool to produce verbose output Mo Zhou not-needed
move-arcstat-1-to-8.patch commit c999ab77f8dad6c6655007baebe9c7992d6fe206

Move arcstat(1) to arcstat(8) to avoid conflict with binary package nordugrid-arc-client.
We regenerate Makefile.in, so we don't have to modify them explicitly here.
Mo Zhou <cdluminate@gmail.com> not-needed 2021-01-15
skip-on-PREEMPT_RT.patch do not attempt to build the modules on PREEMPT_RT kernels Andreas Beckmann <anbe@debian.org> yes debian upstream 2024-08-08
cross-compile.patch Fix cross-compile of the dkms module. Dimitri John Ledkov <dimitri.ledkov@canonical.com> no ubuntu
ubuntu/zfs-mount-container-start.patch 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.
Dimitri John Ledkov <xnox@ubuntu.com> no
fix-pyzfs-version.patch Fix pyzfs version Python does not think x.y.z~rcN is a valid version. Make it happy. Shengqi Chen <harry-chen@outlook.com> not-needed 2024-10-11
BUILD_EXCLUSIVE_KERNEL_MIN.patch set BUILD_EXCLUSIVE_KERNEL_MIN in dkms.conf Andreas Beckmann <anbe@debian.org> no
bump-Linux-Minimum.patch bump Linux-Minimum due to SHRINK_EMPTY usage
SHRINK_EMPTY was introduced in Linux v4.19
Andreas Beckmann <anbe@debian.org> no
upstream/0003-meta-linux-6-13.patch [PATCH] META: Linux 6.13
No changes from 6.12 🤯
Rob Norris <robn@despairlabs.com> yes 2024-12-03
upstream/0005-Add-recursive-dataset-mounting-and-unmounting-suppor.patch [PATCH 17/53] Add recursive dataset mounting and unmounting support to pam_zfs_key (#16857)

Introduced functionality to recursively mount datasets with a new
config option `mount_recursively`. Adjusted existing functions to
handle the recursive behavior and added tests to validate the feature.
This enhances support for managing hierarchical ZFS datasets within
a PAM context.
=?UTF-8?q?Jerzy=20Ko=C5=82osowski?= <jerzy@kolosowscy.pl> no 2025-01-31
upstream/0006-Avoid-ARC-buffer-transfrom-operations-in-prefetch.patch [PATCH 18/53] Avoid ARC buffer transfrom operations in prefetch
This change will prevent prefetch to perform unnecessary ARC buffer
fill when reading from disk.

Closes #17013
Jaydeep Kshirsagar <jkshirsagar@maxlinear.com> no 2025-02-01
upstream/0019-zio-lock-parent-zios-when-updating-wait-counts-on-re.patch [PATCH 19/53] zio: lock parent zios when updating wait counts on reexecute

As zios are reexecuted after resume from suspension, their ready and
wait states need to be propagated to wait counts on all their parents.

It's possible for those parents to have active children passing through
READY or DONE, which then end up in zio_notify_parent(), take their
parent's lock, and decrement the wait count. Without also taking a lock
here, it's possible for an increment race to occur, which leads to
either there being no references left (tripping the assert in
zio_notify_parent()), or a parent waiting forever for a nonexistent
child to complete.

To protect against this, we simply take the appropriate zio locks in
zio_reexecute() before updating the wait counts.


Closes #17016
Rob Norris <rob.norris@klarasystems.com> no 2025-02-05
upstream/0020-Linux-6.14-dops-d_revalidate-now-takes-four-args.patch [PATCH 20/53] Linux 6.14: dops->d_revalidate now takes four args
This is a convenience for filesystems that need the inode of their
parent or their own name, as its often complicated to get that
information. We don't need those things, so this is just detecting which
prototype is expected and adjusting our callback to match.
Rob Norris <robn@despairlabs.com> no 2025-02-05
upstream/0021-Linux-6.14-BLK_MQ_F_SHOULD_MERGE-was-removed.patch [PATCH 21/53] Linux 6.14: BLK_MQ_F_SHOULD_MERGE was removed
According to the upstream change, all callers set it, and all block
devices either honoured it or ignored it, so removing it entirely allows
a bunch of handling for the "unset" case to be removed, and it becomes
effectively implied.

We follow suit, and keep setting it for older kernels.
Rob Norris <robn@despairlabs.com> no 2025-02-05
upstream/0025-Add-kstats-tracking-gang-allocations.patch [PATCH 25/53] Add kstats tracking gang allocations
Gang blocks have a significant impact on the long and short term
performance of a zpool, but there is not a lot of observability into
whether they're being used. This change adds gang-specific kstats to
ZFS, to better allow users to see whether ganging is happening.

Closes #17003
Paul Dagnelie <pcd@delphix.com> no 2025-02-06
upstream/0028-zio-do-no-op-injections-just-before-handing-off-to-v.patch [PATCH 28/53] zio: do no-op injections just before handing off to vdevs

The purpose of no-op is to simulate a failure between a device cache and
its permanent store. We still want it to go through the queue and
respond in the same way to everything else.

So, inject "success" as the very last thing, and then move on to
VDEV_IO_DONE to be dequeued and so any followup work can occur.

Closes #17029
Rob Norris <rob.norris@klarasystems.com> no 2025-02-08
upstream/0029-Update-the-dataset-name-in-handle-after-zfs_rename-1.patch [PATCH 29/53] Update the dataset name in handle after zfs_rename (#17040)

For zfs_rename, after the dataset name is successfully updated,
the dataset handle that was passed to zfs_rename, still contains
the old name, due to which, the dataset handle becomes invalid.
The following operations performed using this handle result in
error since the dataset with old name cannot be found anymore.

changelist_rename does update the names in dataset handles,
but those are temporary handles that were created during
changelist_gather. The original handle that was used to call
zfs_rename is not updated.

We should update the name in original ZFS handle after the IOCTL
for rename returns success for the operation.
Umer Saleem <usaleem@ixsystems.com> no 2025-02-11
upstream/0030-Free-memory-in-an-error-path-in-spl-kmem-cache.c.patch [PATCH 30/53] Free memory in an error path in spl-kmem-cache.c
skc->skc_name also needs to be freed in an error path.

Closes #17041
vandanarungta <46906819+vandanarungta@users.noreply.github.com> no 2025-02-11
upstream/0031-Linux-6.12-compat-Rename-range_tree_-to-zfs_range_tr.patch [PATCH 31/53] Linux 6.12 compat: Rename range_tree_* to zfs_range_tree_*

Linux 6.12 has conflicting range_tree_{find,destroy,clear} symbols.
Ivan Volosyuk <Ivan.Volosyuk@gmail.com> no 2025-01-30
upstream/0032-range_tree-convert-remaining-range_-defs-to-zfs_rang.patch [PATCH 32/53] range_tree: convert remaining range_* defs to zfs_range_* Rob Norris <robn@despairlabs.com> no 2025-02-11
upstream/0035-Fix-wrong-free-function-in-arc_hdr_decrypt.patch [PATCH 35/53] Fix wrong free function in arc_hdr_decrypt
Need to use arc_free_data_abd to free abd type buffer.

Closes #17079
Chunwei Chen <tuxoko@gmail.com> no 2025-02-22

All known versions for source package 'zfs-linux'

Links