Debian Patches

Status for zfs-linux/2.0.3-9+deb11u1

Patch Description Author Forwarded Bugs Origin Last update
1000-dont-symlink-zed-scripts.patch track default symlinks, instead of symlinking invalid
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 no ubuntu 2017-10-06
1002-Check-for-META-and-DCH-consistency-in-autoconf.patch check for META and dch consistency in autoconf invalid
1003-relocate-zvol_wait.patch relocate the executable path invalid
1004-prefer-python3-tests.patch no
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> no
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> no debian
2100-zfs-load-module.patch explicitly load the ZFS module via systemd service Ubuntu developers no
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.
no
force-verbose-rules.patch force libtool to produce verbose output Mo Zhou invalid
4620-zfs-vol-wait-fix-locked-encrypted-vols.patch don't wait for links when volume has property keystatus=unavailable zfs-volume-wait.service systemd unit does not start if the encrypted
zvol is locked. The /sbin/zvol_wait should not wait for links when the
volume has property keystatus=unavailable. This patch fixes this issue
James Dingwall no upstream ubuntu 2020-07-22
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> no 2021-01-15
0010-Fix-report_mount_progress-never-calling-set_progress.patch [PATCH 10/38] Fix report_mount_progress never calling set_progress_header

That happens because of an off-by-one mistake.
share_mount_one_cb() calls report_mount_progress(current=sm_done) after
having incremented sm_done by one. Then report_mount_progress()
increments the parameter again. It appears that that logic became
obsolete after commit a10d50f999511, parallel zfs mount.

On FreeBSD I observe that zfs mount -a -v prints, for example,
(null): (201/248)
That happens because set_progress_header() is never called.

With this change the output becomes correct:
Mounting ZFS filesystems: (209/248)

Closes #11607
Andriy Gapon <avg@FreeBSD.org> no 2021-02-18
0014-libzpool-set_global_var-fix-endianness-handling-fixe.patch [PATCH 14/38] libzpool: set_global_var: fix endianness handling (fixes zdb -o )

Without this patch I get the error

Setting global variables is only supported on little-endian systems

when using `zdb -o` on my amd64 machine.

Closes #11602
Christian Schwarz <me@cschwarz.com> no 2021-02-15
0019-Better-zfs_get_enclosure_sysfs_path-enclosure-suppor.patch [PATCH 19/38] Better zfs_get_enclosure_sysfs_path() enclosure support
A multpathed disk will have several 'underlying' paths to the disk. For
example, multipath disk 'dm-0' may be made up of paths:
/dev/{sda,sdb,sdc,sdd}. On many enclosures those underlying sysfs
paths will have a symlink back to their enclosure device entry
(like 'enclosure_device0/slot1'). This is used by the
statechange-led.sh script to set/clear the fault LED for a disk, and
by 'zpool status -c'.

However, on some enclosures, those underlying paths may not all have
symlinks back to the enclosure device. Maybe only two out of four
of them might.

This patch updates zfs_get_enclosure_sysfs_path() to favor returning
paths that have symlinks back to their enclosure devices, rather
than just returning the first path.

Closes #11617
Tony Hutter <hutter2@llnl.gov> no 2021-02-20
0020-vdev_ops-don-t-try-to-call-vdev_op_hold-or-vdev_op_r.patch [PATCH 20/38] vdev_ops: don't try to call vdev_op_hold or vdev_op_rele when NULL

This prevents a panic after a SLOG add/removal on the root pool followed
by a zpool scrub.

When a SLOG is removed, a hole takes its place - the vdev_ops for a hole
is vdev_hole_ops, which defines the handler functions of vdev_op_hold
and vdev_op_rele as NULL.

This bug has been reported in illumos and FreeBSD, a different trigger
in the FreeBSD report though.

Credit for this patch goes to Patrick Mooney <pmooney@pfmooney.com>

Obtained from: illumos-gate commit: c65bd18728f34725
Closes #11623
fbynite <52733326+fbynite@users.noreply.github.com> no 2021-02-20
0026-Linux-increase-max-nvlist_src-size.patch [PATCH 26/38] Linux: increase max nvlist_src size
On Linux increase the maximum allowed size of the src nvlist which
can be passed to the /dev/zfs ioctl. Originally, this was set
to a maximum of KMALLOC_MAX_SIZE (4M) because it was kmalloc'd.
Since that time it's been converted to a vmalloc so that's no
longer a hard limit, and it's desirable for `zfs send/recv` to
allow larger nvlists so more snapshots can be sent at once.

Closes #6572
Closes #11638
Brian Behlendorf <behlendorf1@llnl.gov> no 2021-02-24
0028-Fix-overly-broad-locking-in-spa_vdev_config_exit.patch [PATCH 28/38] Fix overly broad locking in spa_vdev_config_exit()
Calling vdev_free() only requires the we acquire the spa config
SCL_STATE_ALL locks, not the SCL_ALL locks. In particular, we need
need to avoid taking the SCL_CONFIG lock (included in SCL_ALL) as a
writer since this can lead to a deadlock. The txg_sync_thread() may
block in spa_txg_history_init_io() when taking the SCL_CONFIG lock
as a reading when it detects there's a pending writer.

Closes #11585
Brian Behlendorf <behlendorf1@llnl.gov> no 2021-02-24
0035-Cancel-TRIM-initialize-on-FAULTED-non-writeable-vdev.patch [PATCH 35/38] Cancel TRIM / initialize on FAULTED non-writeable vdevs
When a device which is actively trimming or initializing becomes
FAULTED, and therefore no longer writable, cancel the active
TRIM or initialization. When the device is merely taken offline
with `zpool offline` then stop the operation but do not cancel it.
When the device is brought back online the operation will be
resumed if possible.

Closes #11588
nssrikanth <75025422+nssrikanth@users.noreply.github.com> no 2021-03-02
0037-linux-zvol-avoid-heap-allocation-for-zvol_request_sy.patch [PATCH 37/38] linux: zvol: avoid heap allocation for zvol_request_sync=1

The spl_kmem_alloc showed up in some flamegraphs in a single-threaded
4k sync write workload at 85k IOPS on an
Intel(R) Xeon(R) Silver 4215 CPU @ 2.50GHz.
Certainly not a huge win but I believe the change is clean and
easy to maintain down the road.

Closes #11666
Christian Schwarz <me@cschwarz.com> no 2021-03-03
0038-Don-t-bomb-out-when-using-keylocation-file.patch [PATCH 38/38] Don't bomb out when using keylocation=file://
Avoid following the error path when the operation in fact succeeded.

Closes #11651
James Wah <james@laird-wah.net> no 2021-03-04
0001-Remove-iov_iter_advance-for-iter_write.patch [PATCH] Remove iov_iter_advance() for iter_write
The additional iter advance is incorrect, as copy_from_iter() has
already done the right thing. This will result in the following
warning being printed to the console as of the 5.12 kernel.

Attempted to advance past end of bvec iter

This change should have been included with #11378 when a
similar change was made on the read side.

Issue #11378
Closes #12041
Closes #12155
(cherry picked from commit 3f81aba7668143c6ca6fc44983d4c880606dea8f)
Rich Ercolani <rincebrain@gmail.com> no 2021-06-01
0002-Initialize-ZIL-buffers.patch [PATCH] Initialize ZIL buffers
When populating a ZIL destination buffer ensure it is always
zeroed before its contents are constructed.

Closes #11687
Brian Behlendorf <behlendorf1@llnl.gov> no 2021-03-05
0003-Fix-crash-in-zio_done-error-reporting.patch [PATCH] Fix crash in zio_done error reporting
Fix NULL pointer dereference when reporting
checksum error for gang block in zio_done.

Closes #11872
Closes #11896
Paul Zuchowski <31706010+PaulZ-98@users.noreply.github.com> no 2021-04-16
0004-Fix-AVX512BW-Fletcher-code-on-AVX512-but-not-BW-mach.patch [PATCH] Fix AVX512BW Fletcher code on AVX512-but-not-BW machines
Introduce a specific valid function for avx512f+avx512bw (instead
of checking only for avx512f).

Closes #11937
Closes #11938
Romain Dolbeau <romain@dolbeau.org> no 2021-04-26
0005-Fix-zfs_get_data-access-to-files-with-wrong-generati.patch [PATCH] Fix zfs_get_data access to files with wrong generation
If TX_WRITE is create on a file, and the file is later deleted and a new
directory is created on the same object id, it is possible that when
zil_commit happens, zfs_get_data will be called on the new directory.
This may result in panic as it tries to do range lock.

This patch fixes this issue by record the generation number during
zfs_log_write, so zfs_get_data can check if the object is valid.

Closes #10593
Closes #11682
Chunwei Chen <tuxoko@gmail.com> no 2021-03-19
0006-Linux-always-check-or-verify-return-of-igrab.patch [PATCH] Linux: always check or verify return of igrab()
zhold() wraps igrab() on Linux, and igrab() may fail when the inode
is in the process of being deleted. This means zhold() must only be
called when a reference exists and therefore it cannot be deleted.
This is the case for all existing consumers so add a VERIFY and a
comment explaining this requirement.

Closes #11704
"Adam D. Moss" <c@yotes.com> no 2021-03-16
0007-Avoid-deadlock-when-removing-L2ARC-devices-under-I-O.patch [PATCH] Avoid deadlock when removing L2ARC devices under I/O
In case we have I/O and try to remove an L2ARC device a deadlock might
occur. arc_read()->zio_read()->zfs_blkptr_verify() waits for SCL_VDEV
to be dropped while holding the hash_lock. However, spa_l2cache_load()
holds SCL_ALL and waits for the hash_lock in l2arc_evict().

Fix this by moving zfs_blkptr_verify() to the top top arc_read() before
the hash_lock is taken. Verify the block pointer and return a checksum
error if damaged rather than halting the system, by using
BLK_VERIFY_LOG instead of BLK_VERIFY_HALT.

Closes #12054
George Amanakis <gamanakis@gmail.com> no 2021-06-17
0008-file-reference-counts-can-get-corrupted.patch [PATCH] file reference counts can get corrupted
Callers of zfs_file_get and zfs_file_put can corrupt the reference
counts for the file structure resulting in a panic or a soft lockup.
When zfs send/recv runs, it will add a reference count to the
open file, and begin to send or recv the stream. If the file descriptor
is closed, then when dmu_recv_stream() or dmu_send() return we will
call zfs_file_put to remove the reference we placed on the file
structure. Unfortunately, because zfs_file_put() uses the file
descriptor to lookup the file structure, it may end up finding that
the file descriptor table no longer contains the file struct, thus
leaking the file structure. Or it might end up finding a file
descriptor for a different file and blindly updating its reference
counts. Other failure modes probably exists.

This change reworks the zfs_file_[get|put] interface to not rely
on the file descriptor but instead pass the zfs_file_t pointer around.

Closes #12299
George Wilson <george.wilson@delphix.com> no 2021-07-10
0009-libshare-nfs-don-t-leak-nfs_lock_fd-when-lock-fails.patch [PATCH] libshare: nfs: don't leak nfs_lock_fd when lock fails
Closes #11886
=?UTF-8?q?=D0=BD=D0=B0=D0=B1?= <nabijaczleweli@nabijaczleweli.xyz> no 2021-04-11
0010-Fix-plymouth-passphrase-prompt-with-dracut.patch [PATCH] Fix plymouth passphrase prompt with dracut
plymouth --command splits the command on spaces which means
that zfs-load-key was getting the filesystem name enclosed
in single quotes (since 13c59bb76) and failing. This commit
fixes it by piping the password directly to the command
similar to how it's done in other scripts (initramfs,
dracut without plymouth).

Closes #12147
Michal Vasilek <michal@vasilek.cz> no 2021-06-26

All known versions for source package 'zfs-linux'

Links