[Git][hardenedbsd/HardenedBSD][freebsd/current/main] 115 commits: libshare: fold into libzfs and reorg headers a little

0 views
Skip to first unread message

HardenedBSD Services (@hardenedbsd-services)

unread,
Mar 14, 2026, 2:01:28 PM (3 days ago) Mar 14
to src-com...@hardenedbsd.org


HardenedBSD Services pushed to branch freebsd/current/main at HardenedBSD / HardenedBSD


Commits:
0d44b58d by Rob Norris at 2025-12-19T19:52:33-08:00
libshare: fold into libzfs and reorg headers a little

libzfs is the only user of libshare, and only internally, so there's no
particular reason to build it separately, nor to export its symbols. So,
pull it into libzfs proper, remove its "public" header, and hide its
symbols.

The bare minimum "public" API is just to count and enumerate the
supported share types. These are moved to libzfs.h with the other share
API.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18072
- - - - -
648a9a29 by Tony Hutter at 2025-12-19T19:57:19-08:00
CI: Test 2.4.x in qemu-test-repo-vm.sh, quick mode

The qemu-test-repo-vm.sh script tests installs ZFS from different
repos. Have it test from the new 2.4.x repos as well.

Also add a checkbox to run in "lookup mode". This just does a
quick lookup to see what version is installed in each repo. It does
not do a test install and module load. It only takes 3min to run vs
over an hour for the full version.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tino Reichardt <milk...@mcmilk.de>
Signed-off-by: Tony Hutter <hut...@llnl.gov>
Closes #18070
- - - - -
309006a0 by Rob Norris at 2025-12-22T14:58:20-08:00
libunicode: merge into libzpool

It's a single source file that is not used anywhere else, so there's no
reason to keep it separate.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18071

- - - - -
654e7628 by Rob Norris at 2025-12-22T14:58:36-08:00
u8_textprep: move into module/zfs

Now that it's built into the main zfs module in all cases, there's no
reason to put it in its own dir.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18071

- - - - -
9880ac30 by Ivan Shapovalov at 2025-12-23T11:12:21-08:00
zvol: cosmetic: fix up `volthreading` property short name

Signed-off-by: Ivan Shapovalov <int...@intelfx.name>

- - - - -
1e7280ce by Ivan Shapovalov at 2025-12-23T11:12:21-08:00
zfs_main: cosmetic: add missing flag to the comment for create

Signed-off-by: Ivan Shapovalov <int...@intelfx.name>

- - - - -
e28d980d by Ivan Shapovalov at 2025-12-23T11:12:21-08:00
man: cosmetic: fix typos; use consistent spelling for "non-existing"

Signed-off-by: Ivan Shapovalov <int...@intelfx.name>

- - - - -
3c419333 by Ivan Shapovalov at 2025-12-23T11:12:21-08:00
zed.d, contrib: fix shellcheck errors in scripts

Not sure why this was not caught by CI; perhaps my shellcheck is new
enough to catch more things.

Signed-off-by: Ivan Shapovalov <int...@intelfx.name>

- - - - -
3c8665cb by Rob Norris at 2025-12-23T12:53:32-08:00
Linux 6.19: replace i_state access with inode_state_read_once()

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18053

- - - - -
f95e3062 by Rob Norris at 2025-12-23T12:54:11-08:00
kmem: don't pass __GFP_HIGHMEM to __vmalloc

Since Linux 4.12 (torvalds/linux@19809c2da28ae) __GFP_HIGHMEM has been
automatically added to calls to __vmalloc() internally, so we don't need
it anymore. This is good, because since 6.19 the kernel warns if you use
__GFP_HIGHMEM.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18053

- - - - -
f041375b by Rob Norris at 2025-12-23T12:54:34-08:00
kmem: don't add __GFP_COMP for KM_VMEM allocations

It hasn't been necessary since Linux 3.13
(torvalds/linux@a57a49887eb33), and since 6.19 the kernel warns if you
use it.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18053

- - - - -
e72f3054 by Alexander Moch at 2025-12-29T11:16:34-08:00
cmd/ztest: avoid `PATH_MAX` stack allocation in `ztest_get_zdb_bin()` (#18085)

Calling realpath(path, buf) can trigger fortified header wrappers that
allocate a PATH_MAX-sized temporary buffer on the stack, exceeding the
4 KiB frame limit on some systems. Use the heap-allocating
realpath(path, NULL) form instead.

Sponsored-by: ERNW Research GmbH - https://ernw-research.de/

Signed-off-by: Alexander Moch <am...@ernw.de>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
- - - - -
b9b84445 by Alexander Moch at 2025-12-30T09:29:48-08:00
CI: Add Alpine Linux 3.23 runner to the pipeline (#18087)

Add an Alpine Linux 3.23 runner to the CI chain to run OpenZFS builds
and tests against musl libc.

Currently, zfs_send_sparse is killed after 10 minutes on Alpine, causing
cascading EBUSY failures in the test suite. With zfs_send_sparse
disabled, the ZFS test suite reaches a pass rate of 94.62%.

This commit introduces the required Alpine-specific setup and a small
set of shell and cloud-init compatibility fixes that also apply to
existing Linux runners.

The Alpine runner is not enabled by default and is not executed for new
pull requests.

Sponsored-by: ERNW Research GmbH - https://ernw-research.de/

Signed-off-by: Alexander Moch <am...@ernw.de>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Tino Reichardt <milk...@mcmilk.de>
- - - - -
dbb3f247 by Ivan Shapovalov at 2026-01-05T12:21:56-05:00
cmd/zfs: clone: accept `-u` to not mount newly created datasets

Signed-off-by: Ivan Shapovalov <int...@intelfx.name>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18080
- - - - -
a1319bf6 by Rob Norris at 2026-01-05T13:35:13-08:00
kmem: don't add __GFP_RECLAIMABLE for KM_VMEM allocations

vmalloc()'d memory is not movable/reclaimable, so __GFP_RECLAIMABLE is
not a valid flag, and since 6.19 the kernel warns if you use it.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18107
- - - - -
312bdab0 by Andrew Walker at 2026-01-05T14:06:28-08:00
Add handling for STATX_CHANGE_COOKIE

This commit adds handling for the STATX_CHANGE_COOKIE so that
we can properly surface the ZFS znode sequence to NFS clients via
knfsd.

If knfsd does not have STATX_CHANGE_COOKIE in statx result then
it will synthesize the NFS change_info4 structure and related
change4id values algorithmically based on the ctime value of the
file. Since internally ZFS is using ktime_get_coarse_real_ts64()
for the timestamp calculation here it introduces the possiblity
that the change will not increment the change4id of directories
/ files causing a failure in the client to invalidate its attr
cache (among other things). See RFC 8881 Section 10.8 for
discussion of how clients may implement name and directory
caching.

Notable in this commit is that we are not initializing the
inode->i_version to the znode->z_seq number. The reason for this
is that we're intentionally not setting `SB_I_VERSION`. This
indicates that the filesystem manages its own i_version and
so it is not populated in the generic_fillattr.

The following compares tight loop of setattr over NFSv4
protocol while traching nfsd4_change_attribute.

Before change:
inode, change_attribute
4723, 7590032215978780890
4723, 7590032215978780890
4723, 7590032215978780890
4723, 7590032215982780865
4723, 7590032215982780865

After change:
inode, change_attribute
7602, 7590032992517123951
7602, 7590032992517123952
7602, 7590032992517123953
7602, 7590032992517123954
7602, 7590032992517123955

Reviewed-by: Ameer Hamza <aha...@ixsystems.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Andrew Walker <andrew...@truenas.com>
Closes #18097
- - - - -
2dbd6af5 by Dimitry Andric at 2026-01-05T14:15:22-08:00
Rename several printf attributes declarations to __printf__

For kernel builds on FreeBSD, we redefine `__printf__` to
`__freebsd_kprintf__`, to support FreeBSD kernel printf(9) extensions
with clang.

In OpenZFS various printf related functions are declared with
`__attribute__((format(printf, X, Y)))`, so these won't work with the
above redefinition. With clang 21 and higher, this leads to errors
similar to:

sys/contrib/openzfs/module/zfs/spa_misc.c:414:38: error: passing
'printf' format string where 'freebsd_kprintf' format string is
expected [-Werror,-Wformat]
414 | (void) vsnprintf(buf, sizeof (buf), fmt, adx);
| ^

Since attribute names can always be spelled with leading and trailing
double underscores, rename these instances.

Note that in the FreeBSD base system we usually use `__printflike` from
`<sys/cdefs.h>`, but that does not apply to OpenZFS.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Dimitry Andric <dim...@andric.com>
Closes #18095
- - - - -
6eef5cdc by shuppy at 2026-01-06T09:33:03-08:00
ZTS: add regression test for #17180

In #17180, we fixed an interesting bug that i believe i hit in one of my
pools, but as far as i can tell, there was no test for it.

this patch adds a regression test for #17180, minimised from my attempts
to reproduce the bug in a way that resembled the history of my pool.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Adam Moss <c...@yotes.com>
Signed-off-by: delan azabani <daza...@igalia.com>
Closes #18109
- - - - -
c77f17b7 by Wolfgang Hoschek at 2026-01-06T09:36:20-08:00
Add snapshots_changed_nsecs dataset property

Add a read-only dataset property, snapshots_changed_nsecs, which
exposes the nanosecond resolution version of snapshots_changed.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Wolfgang Hoschek <wolfgang...@mac.com>
Closes #17998
Closes #18031
- - - - -
2301755d by Jitendra Patidar at 2026-01-06T10:58:56-08:00
Fix zfs_open() to skip zil_async_to_sync() for the snapshot

Fix zfs_open() to skip zil_async_to_sync() for the snapshot, as it won't
have any transactions. zfsvfs->z_log is NULL for the snapshot.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Jitendra Patidar <jitendra...@nutanix.com>
Closes #18091
- - - - -
794f1587 by Austin Wise at 2026-01-07T16:47:12-08:00
When receiving a stream with the large block flag, activate feature

ZFS send streams include a feature flag DMU_BACKUP_FEATURE_LARGE_BLOCKS
to indicate the presence of large blocks in the dataset. On the sending
side, this flag is included if the `-L` flag is passed to `zfs send`
and the feature is active in the dataset. On the receive side, the
stream is refused if the feature is active in the destination dataset
but the stream does not include the feature flag.

The problem is the feature is only activated when a large block is
born. If a large block has been born in the destination, but never
the source, the send can't work. This can arise when sending streams
back and forth between two datasets.

This commit fixes the problem by always activating the large blocks
feature when receiving a stream with the large block feature flag.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Austin Wise <Austi...@gmail.com>
Closes #18105
- - - - -
2f1f2521 by Dimitry Andric at 2026-01-08T09:21:12-08:00
icp: emit .note.GNU-stack section for all ELF targets

On FreeBSD, linking the zfs kernel module with binutils ld 2.44 shows
the following warning:

ld: warning: aesni-gcm-avx2-vaes.o: missing .note.GNU-stack section
implies executable stack
ld: NOTE: This behaviour is deprecated and will be removed in a
future version of the linker

Some of the `.S` files under `module/icp/asm-x86_64/modes` check whether
to emit the `.note.GNU-stack` section using:

#if defined(__linux__) && defined(__ELF__)

We could add `&& defined(__FreeBSD__)` to the test, but since all other
`.S` files in the OpenZFS tree use:

#ifdef __ELF__

it would seem more logical to use that instead. Any recent ELF platform
should support these note sections by now.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Dimitry Andric <dim...@andric.com>
Closes #18119
- - - - -
2ca6e880 by Rob Norris at 2026-01-08T10:33:14-08:00
spl: remove old atomic lock

Long ago, SPL atomics were implemented as a global spinlock over
conventional operations. In 5e9b5d832b (2009-10) they was converted to
proper atomics, with the spinlock retained as a fallback.

The switch to compile with the fallback was later removed in a91258913f
(2018-05), but the code it enabled wasn't. So lets do that.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18117

- - - - -
662f33f3 by Rob Norris at 2026-01-08T10:33:32-08:00
spl: lift 64-bit math compat out to separate file

It's a lot of rarely-compiled code, so move it to the side to make other
code easier to read.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18117

- - - - -
02a63113 by Rob Norris at 2026-01-08T10:33:37-08:00
spl: unexport kstat_proc_entry functions

These are used to implement the kstat and procfs_list interfaces, and
aren't used from outside. There's no need to export them.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18117

- - - - -
f2b4ed3f by Rob Norris at 2026-01-08T10:33:44-08:00
spl: remove a _KERNEL check

This code is only compiled for the Linux kernel module, so that define
is always set.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18117

- - - - -
aca58dbb by Andrew Walker at 2026-01-08T15:06:12-08:00
Add fh_to_parent export definition

This commit adds support for converting a file handle to its
parent dentry. This is called in exportfs_decode_fh_raw()
when subtree checking is enabled in NFS. Defining this and
handling the expanded filehandles allows the knfsd to succeed
in handling the file handle where it might otherwise fail
with ESTALE when trying to open by filehandle.

A side effect of this change is that name_to_handle_at(2)
and open_by_handle_at(2) now support AT_HANDLE_CONNECTABLE.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Ameer Hamza <aha...@ixsystems.com>
Signed-off-by: Andrew Walker <andrew...@truenas.com>
Closes #18099
- - - - -
85391ee9 by Rob Norris at 2026-01-08T15:08:03-08:00
build: add SPDX license tags to build system files

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18077

- - - - -
1051c3d2 by Rob Norris at 2026-01-08T15:08:32-08:00
spdxcheck: enforce SPDX license tags on build system files

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18077

- - - - -
765929cb by Alexander Motin at 2026-01-13T15:07:15-08:00
DDT: Add locking for table ZAP destruction

Similar to BRT, DDT ZAP can be destroyed by sync context when it
becomes empty. Respectively similar to BRT introduce RW-lock to
protect open context methods from the destruction.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18115
- - - - -
09e4e01e by shuppy at 2026-01-14T14:51:51-08:00
Fix history logging for `zpool create -t`

`zpool create` is supposed to log the command to the new pool’s history,
as a special record that never gets evicted from the ring buffer. but
when you create a pool with `zpool create -t`, no such record is ever
logged (#18102). that bug may be the cause of issues like #16408.

`zpool create -t` (83e9986f6eefdf0afc387f06407087bba3ead4e9) and `zpool
import -t` (26b42f3f9d03f85cc7966dc2fe4dfe9216601b0e) are both designed
to override the on-disk zpool property `name` with an in-core
“temporary” name, but they work somewhat differently under the hood.

importing with a temporary name sets `spa->spa_import_flags |=
ZFS_IMPORT_TEMP_NAME` in ZFS_IOC_POOL_IMPORT, which tells
spa_write_cachefile() and spa_config_generate() to use the
ZPOOL_CONFIG_POOL_NAME in `spa->spa_config` instead of `spa->spa_name`.

creating with a temporary name permanently(!) sets the internal zpool
property `tname` (ZPOOL_PROP_TNAME) in the `zc->zc_nvlist_src` of
ZFS_IOC_POOL_CREATE, which tells zfs_ioc_pool_create()
(4ceb8dd6fdfdde3b6ac55cf52132858973fce9d0) and spa_create() to use that
name instead of `zc->zc_name`, then sets `spa->spa_import_flags |=
ZFS_IMPORT_TEMP_NAME` like an import.

but zfsdev_ioctl_common() fails to check for `tname` when saving the
pool name to `zfs_allow_log_key`, so when we call ZFS_IOC_LOG_HISTORY,
we call spa_open() on the wrong pool name and get ENOENT, so the logging
silently fails.

this patch fixes #18102 by checking for `tname` in zfsdev_ioctl_common()
like we do in zfs_ioc_pool_create().

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: delan azabani <daza...@igalia.com>
Closes #18118
Closes #18102
- - - - -
3fffe4e7 by Alan Somers at 2026-01-14T14:54:12-08:00
Fix --enable-invariants on FreeBSD

The make symbols were never getting forwarded to the correct make
subprocess. As far as I can tell, this has never worked. Either that,
or something has changed in the behavior of make.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alan Somers <aso...@gmail.com>
Closes #18131
- - - - -
8605bdfd by Martin Matuška at 2026-01-14T17:02:41-08:00
FreeBSD: unbreak compilation on i386

tests/zfs-tests/cmd/mmap_seek.c: use correct printf specifier
module/zfs/vdev.c: vdev_clear(): correctly cast argument to
atomic_add_64().

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Martin Matuska <m...@FreeBSD.org>
Closes #18096
- - - - -
54b141fa by Mark Johnston at 2026-01-19T08:55:17-08:00
FreeBSD: Remove references to DEBUG_VFS_LOCKS

This option is removed upstream in favour of plain INVARIANTS.

VNASSERT is always defined so I see no reason to use it conditionally.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Mark Johnston <ma...@FreeBSD.org>
Closes #18136
- - - - -
bbcddb12 by Alexander Moch at 2026-01-20T13:40:37-08:00
Zstd: Update bundled library to v1.5.7 without further adjustments

This commit only replaces the bundled source and does not include any
ZFS integration changes. Because the build depends on integration
adjustments, it will fail until the accompanying integration commit is
applied.

Upstream release: https://github.com/facebook/zstd/releases/tag/v1.5.7

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Moch <ma...@alexmoch.com>
Closes #18089

- - - - -
a2ac9cd6 by Alexander Moch at 2026-01-20T13:41:06-08:00
Zstd: Integrate v1.5.7 into the ZFS build system

This commit builds on the previous zstd library update and adds the
necessary ZFS integration and build system changes required to make
zstd 1.5.7 compile and function correctly.

Changes:
- Add zstd_preSplit.c (new in 1.5.7) to all build systems.
- Enable x86_64 assembly in userspace (huf_decompress_amd64.S).
- Disable assembly in kernel for RETHUNK/IBT compatibility.
- Disable intrinsics in kernel for EL10 x86_64-v3 baseline.
- Disable tracing in kernel builds for AArch64 compatibility.
- Fix ZSTD_isError symbol renaming with __asm__ directive.
- Rename abs64 to ZSTD_abs64 (FreeBSD kernel conflict).
- Fix bitstream.h attributes (MEM_STATIC -> FORCE_INLINE_TEMPLATE).
- Remove xxhash.c from BSD build (now header-only).
- Update symbol names in zstd_compat_wrapper.h.
- Ignore checkstyle for zstd-in.c.

Kernel assembly disabled for security mitigation compatibility. User
space retains full performance.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Moch <ma...@alexmoch.com>
Closes #18089

- - - - -
e7f9734b by Alexander Moch at 2026-01-20T13:41:12-08:00
Zstd: Fix ASan poisoning for pooled Zstd contexts

The Zstd context mempool can reuse buffers that were previously poisoned
under AddressSanitizer, leading to false-positive use-after-poison reports
during zloop and other stress tests.

Explicitly unpoison memory when handing buffers out to Zstd and poison the
user-visible region again when buffers are returned to the pool. This makes
the allocator ASan-correct while preserving existing pooling behavior.

Also fix non-standard void * pointer arithmetic in zstd_free() and remove an
early return in zstd_dctx_alloc() so kmem_type/kmem_size are always set on
pool hits.

This only affects ASan bookkeeping in user space, does not change runtime
behavior in non-ASan configurations, and does not affect on-disk formats.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Moch <ma...@alexmoch.com>
Closes #18089

- - - - -
2d5a9b6a by Alexander Moch at 2026-01-20T13:41:18-08:00
Zstd: Restore SPDX license identifiers

When updating Zstandard to version 1.5.7 the SPDX license identifiers
were lost. This commit restores them.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Moch <ma...@alexmoch.com>
Closes #18089

- - - - -
28291536 by Alexander Moch at 2026-01-20T13:41:24-08:00
Zstd: Document update policy

Add the Zstd update policy to the subtree README.

Also update the documented location of zstd-in.c to match upstream
changes, and normalize naming from 'ZSTD' to 'Zstd'.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Moch <ma...@alexmoch.com>
Closes #18089

- - - - -
cd895f0e by Alek P at 2026-01-21T10:00:34-08:00
remove thread unsafe debug code causing FreeBSD double free panic

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alan Somers <aso...@gmail.com>
Signed-off-by: Alek Pinchuk <apin...@axcient.com>
Closes #18140
- - - - -
35b2d397 by Alexander Motin at 2026-01-26T21:32:16-05:00
Lock db_mtx around arc_release() in couple places

* Lock db_mtx around arc_release() in dbuf_release_bp()

While this function is called only in sync context, the same buffer
can be touched by dbuf_hold_impl() in open context, creating races.
All other accesses to arc_release() are already protected by db_mtx,
so just take it here too.

Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>

* Lock db_mtx in sa_byteswap()

While SA code seems protected by sa_lock, there is a back door of
dmu_objset_userquota_get_ids(), that may hold and access the dbuf
without sa_lock, relying only on db_mtx. Taking db_mtx here should
protect both the arc_release() and the data for db_buf.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Ameer Hamza <aha...@ixsystems.com>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18146
- - - - -
a157ef62 by Mariusz Zaborski at 2026-01-26T21:33:21-05:00
Make sure we can still write data to txg

The final txgs are used only to clear out any remaining deferred
frees, and we cannot write new data to them. Make sure we do not
try to do so.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Mariusz Zaborski <mariusz....@klarasystems.com>
Closes #18139
- - - - -
b3647205 by Brooks Davis at 2026-01-28T21:41:33-05:00
nvpair: chase FreeBSD xdrproc_t definition

As of FreeBSD 16, xdrproc_t will take exactly two arguments in both
kernel and userspace in line with the Linux kernel.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Alan Somers <aso...@freebsd.org>
Signed-off-by: Brooks Davis <bro...@capabilitieslimited.co.uk>
Closes #18154
- - - - -
da9e8ff0 by Tony Hutter at 2026-01-31T12:40:55-08:00
CI: Fix qemu-1-setup failure, remove debug stuff

- For whatever reason, the runner will now startup with either two 75GB
disks or one 150GB disk. Previously the runner was always booting
with two 75GB, but about a quarter of the time it now starts up
with a single 150GB disk. This caused qemu-1-setup.sh to fail
since it expected the two 75GB disks. This commit updates
qemu-1-setup.sh to work with either disk config.

- Remove the watchdog from qemu-1-setup.sh. It didn't turn out to be
useful.

- Remove the timestamps that zfs-qemu.yml added to the qemu-1-setup.sh
output. The timestamps were redundant, since you can already
download timestamped logs from the Github web interface.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tino Reichardt <milk...@mcmilk.de>
Signed-off-by: Tony Hutter <hut...@llnl.gov>
Closes #18166
- - - - -
13601e2d by John Cabaj at 2026-02-02T10:19:18-08:00
Linux 6.19: handle --werror with CONFIG_OBJTOOL_WERROR=y

Linux upstream commit 56754f0f46f6: "objtool: Rename
--Werror to --werror" did just that, so we should check for
either "--Werror" or "--werror", else the build will fail

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Attila Fülöp <att...@fueloep.org>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Signed-off-by: John Cabaj <john....@canonical.com>
Closes #18152
- - - - -
7e33476a by Erik Larsson at 2026-02-02T14:16:10-08:00
Fix build for Linux 6.18 with PowerPC/RISC-V kernels. (#18145)

The macro 'flush_dcache_page(...)' modifies the page flags, but in Linux
6.18 the type of the page flags changed from 'unsigned long' to the
struct type 'memdesc_flags_t' with a single member 'f' which is the page
flags field.

Signed-off-by: Erik Larsson <catac...@gmail.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tino Reichardt <milk...@mcmilk.de>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
- - - - -
07ae463d by Dennis Værum at 2026-02-03T16:09:10-08:00
Added support for multiple homes in pam_zfs_key module (#18084)

This implemented support for having multiple datasets unlocked and
mounted when a session is opened.
Example: `homes=rpool/home,tank/users`

Extra unit tests have been added

A man page documents have been added `man 8 pam_zfs_key`. A few
references to the new man page have also been added in other documents.

Signed-off-by: Dennis Vestergaard Værum <git...@varum.dk>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Tino Reichardt <milk...@mcmilk.de>
- - - - -
3523b5f3 by Ameer Hamza at 2026-02-04T10:05:53-08:00
L2ARC: Implement even-depth multi-sublist scanning

The introduction of ARC multilists made L2ARC writing quite random,
depending on whether it found something to write in a randomly selected
sublist. This created inconsistent write patterns and poor utilization
of available sublists leading to uneven cache population.

This commit replaces random selection with systematic scanning across
all sublists within each burst. Fair headroom distribution ensures
even-depth traversal across all sublists until the target write size
is reached. Round-robin processing with random starting points eliminates
sequential bias while maintaining predictable write behavior.

The systematic approach provides consistent L2ARC filling patterns
and better utilization of available ARC data across all sublists.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
2f41b9d8 by Ameer Hamza at 2026-02-04T10:06:47-08:00
L2ARC: Implement persistent markers with consistent tail scanning

This commit introduces per-sublist persistent markers that eliminate
redundant tail scanning between L2ARC iterations, providing significant
CPU efficiency improvements. Markers are pre-allocated during device
initialization and properly cleaned up during device removal.

The implementation uses conditional behavior based on device capacity:
small devices (capacity < arc_c) retain original HEAD/TAIL scanning
based on ARC warmup state, while large devices (capacity >= arc_c)
use the persistent marker approach for optimal CPU efficiency.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
b8610c3d by Ameer Hamza at 2026-02-04T10:06:51-08:00
L2ARC: Reorder header destruction for in-flight L2 writes

With multiple L2ARC devices, headers can be destroyed asynchronously
(e.g., during zpool sync) while L2_WRITING is set. The original code
destroyed L2HDR before L1HDR, causing ABDs to lose their device
association (b_l2hdr.b_dev) when arc_hdr_free_abd() is called.

This caused ABDs to be added to the global free-on-write list without
device information. When any L2ARC device completed its write and
attempted to free these orphaned ABDs, it would panic on
ASSERT(!list_link_active(&abd->abd_gang_link)) because the ABD was
still part of another device's vdev_queue I/O aggregation gang.

Fix by extending l2ad_mtx lock scope to cover L1HDR destruction and
reordering to destroy L1HDR before L2HDR when L2_WRITING is set. This
ensures arc_hdr_free_abd() can access b_l2hdr.b_dev to properly tag
ABDs with their device for deferred cleanup.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
825dc41a by Ameer Hamza at 2026-02-04T10:06:57-08:00
L2ARC: Preserve L2HDR in arc_release() for in-flight writes

When arc_release() is called on a header with a single buffer and
L2_WRITING set, the L2HDR must be preserved for ABD cleanup (similar
to the arc_hdr_destroy() case). If we destroy the L2HDR here, later
arc_write() will allocate a new ABD and call arc_hdr_free_abd(),
which needs b_l2hdr.b_dev to properly defer ABD cleanup, causing
VERIFY(HDR_HAS_L2HDR(hdr)) to fail.

Allocate a new header for the buffer in the single_buf_l2writing
case (single buffer + L2_WRITING), leaving the original header with
L2HDR intact. The original header becomes an "orphan" (no buffers, no
b_pabd) but retains device association for ABD cleanup when
l2arc_write_done() completes.

The shared buffer case (HDR_SHARED_DATA) is excluded because L2ARC
makes its own transformed copy via l2arc_apply_transforms(), so the
original ABD is not used by the L2 write. The header can be safely
reused without allocating a new one.

For proper evictable space accounting, arc_buf_remove() must be
called before remove_reference() in the single_buf_l2writing path.
This ensures arc_evictable_space_increment() (during remove_reference)
and arc_evictable_space_decrement() (during destruction) see the
same state (b_buf=NULL), preventing accounting leaks that cause
module unload to hang with non-zero esize.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
b525525b by Ameer Hamza at 2026-02-04T10:07:02-08:00
L2ARC: Implement per-device feed threads for parallel writes

Transform L2ARC from single global feed thread to per-device threads,
enabling parallel writes to multiple L2ARC devices. Each device runs
its own feed thread independently, improving multi-device throughput.
Previously, a single thread served all devices sequentially; now each
device writes concurrently. Threads are created during device addition
and torn down on removal.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
d1f290f1 by Ameer Hamza at 2026-02-04T10:07:07-08:00
L2ARC: Implement DWPD-based rate limiting with adaptive feed intervals

Add DWPD (Drive Writes Per Day) rate limiting to control L2ARC write
speeds and protect SSD endurance. Write rate is constrained by the
minimum of l2arc_write_max and DWPD-calculated budget. Devices
accumulate unused write budget over 24-hour periods with automatic reset
and carry-over. Writes occur in controlled bursts (max 50MB) with
adaptive intervals to achieve target rates. Applies after initial device
fill.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
48d3f7fa by Ameer Hamza at 2026-02-04T10:07:11-08:00
man: Update L2ARC tunables for DWPD and parallel writes

Add l2arc_dwpd_limit, remove l2arc_write_boost, update related tunables.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
13552d75 by Ameer Hamza at 2026-02-04T10:07:16-08:00
ZTS: Add L2ARC DWPD and parallel writes tests

Add four new functional tests to validate L2ARC DWPD rate limiting and
parallel write features:

- l2arc_dwpd_ratelimit_pos: Verifies DWPD rate limiting with different
values (0, 100, 1000, 10000) and ordering
- l2arc_dwpd_reimport_pos: Verifies DWPD rate limiting persists after
pool export/import
- l2arc_multidev_scaling_pos: Verifies parallel write scaling ratio
(dual devices achieve ~2× single device throughput)
- l2arc_multidev_throughput_pos: Verifies absolute parallel write
throughput scales with device count (~32MB/s per device)

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
6f170527 by Ameer Hamza at 2026-02-04T10:07:22-08:00
cache_012_pos: disable compression to ensure L2ARC wrap

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
00d69b0f by Ameer Hamza at 2026-02-04T10:07:26-08:00
arc: remove unused l2df_size and l2df_type from l2arc_data_free_t

These fields became unused when ABD was introduced in a6255b7fc.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Ameer Hamza <aha...@ixsystems.com>
Closes #18093

- - - - -
21bbe7cb by Alexander Motin at 2026-02-04T10:12:32-08:00
Improve caching for dbuf prefetches

To avoid read errors with transaction open dmu_tx_check_ioerr()
is used to read everything required in advance. But there seems
to be a chance for the buffer to evicted from dbuf cache in
between, which result in immediate eviction from ARC, which may
require additional disk read later in a place where error handling
is problematic.

To partially workaround this introduce a new flag DMU_IS_PREFETCH,
relayed to ARC as ARC_FLAG_PREFETCH | ARC_FLAG_PRESCIENT_PREFETCH,
making ARC delay eviction by at least several seconds, or till the
actual read inside the transaction, that will promote it to demand
access.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18160
- - - - -
20f94ef2 by George Shammas at 2026-02-05T15:34:55-08:00
pyzfs: remove unimplemented libzfs_core functions from pyzfs

As per #9008, pyzfs implements and documents several functions that
would be very useful, but then try to call c functions in libzfs_core.
These functions do not exist in libzfs_core, and in the ~7 years of
ticket creation still do not exist in libzfs_core.

It seems unlikely that these functions will get implemented, though 2
years ago, ~5 years after that ticket lzc_get_props was implemented in
23a489a41167890cdd227366a5f950170df8cc9b which enabled get properties in
pyzfs. Sadly the first thing the pyzfs function for lzc_get_props does
is call _list, which cals lzc_list, which is not implmented. And the
functions to set or inherit properties are still missing.

Having these functions in pyzfs are misleading, footguns, and time
wasters when evaluating pyzfs.

Removing these functions from pyzfs means that _if_ these functions are
added in libzfs_core, then pyzfs will also need to re-implement these
functions. It's a shame, because these py functions have good
documentation and tests. Funny enough the tests are auto skipped if it
detects that the functions don't exist in libzfs_core.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Signed-off-by: George Shammas <geo...@shamm.as>
Closes #9008
Closes #18162
- - - - -
4f180e09 by Austin Wise at 2026-02-05T15:48:03-08:00
Fix activating large_microzap on receive

This ensures that the in-memory state of the feature is recorded and
that `dsl_dataset_activate_feature` is not called when the feature
is already active.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Austin Wise <Austi...@gmail.com>
Closes #18143
Closes #18144
- - - - -
a9564b17 by Brian Behlendorf at 2026-02-09T09:32:58-08:00
mmp: further restrict mmp exported pool check

For a cleanly exported pools there exists a small window where
both systems may determine it's safe to import the pool and skip
the activity check. Only allow the check to be skipped when the
last imported hostid matches the systems hostid and the pool was
cleanly exported.

Signed-off-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Olaf Faaland <faal...@llnl.gov>
Reviewed-by: Akash B <aka...@hpe.com>

- - - - -
62a1bf7d by Brian Behlendorf at 2026-02-09T09:34:57-08:00
mmp: move "Starting import" log message

Move the "Starting import" log message in to the import block so
it's matched with the "Fiinshed importing" debug message.

Signed-off-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Olaf Faaland <faal...@llnl.gov>
Reviewed-by: Akash B <aka...@hpe.com>

- - - - -
2f048ced by Brian Behlendorf at 2026-02-09T09:35:03-08:00
mmp: add spa_load_name() for tryimport

Tryimport adds a unique prefix to the pool name to avoid name
collisions. This makes it awkward to log user-friendly info
during a tryimport. Add a spa_load_name() function which can
be used to report the unmodified pool name.

Signed-off-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Olaf Faaland <faal...@llnl.gov>
Reviewed-by: Akash B <aka...@hpe.com>

- - - - -
20176224 by Brian Behlendorf at 2026-02-09T09:36:01-08:00
mmp: claim sequence id before final import

As part of SPA_LOAD_IMPORT add an additional activity check to
detect simultaneous imports from different hosts. This check is
only required when the timing is such that there's no activity
for the the read-only tryimport check to detect. This extra
safety chceck operates as follows:

1. Repeats the following MMP check 10 times:
a. Write out an MMP uberblock with the best txg and a random
sequence id to all primary pool vdevs.
b. Verify a minimum number of good writes such that even if
the pool appears degraded on the remote host it will see
at least one of the updated MMP uberblocks.
c. Wait for the MMP interval this leaves a window for other
racing hosts to make similar modifications which can be
detected.
d. Call vdev_uberblock_load() to determine the best uberblock
to use, this should be the MMP uberblock just written.
e. Verify the txg and random sequeunce number match the MMP
uberblock written in 1a.

2. Restore the original MMP uberblocks. This allows the check
to be performed again if the pool fails to import for an
unrelated reason.

This change also includes some refactoring and minor improvements.

- Never try loading earlier txgs during import when the import
fails with EREMOTEIO or EINTER. These errors don't indicate
the txg is damaged but instead that its either in use on a
remote host or the import was interactively cancelled. No
rewind is also performed for EBADD which can result from a
stale trusted config when doing a verbatim import.

- Refactor the code for consistent logging of the multihost
activity check using spa_load_note() and console messages
indicating when the activity check was trigger and the result.

- Added MMP_*_MASK and MMP_SEQ_CLEAR() macros to allow easier
modification of the sequence number in an uberblock.

- Added ZFS_LOAD_INFO_DEBUG environment variable which can be
set to log to dump to stdout the spa_load_info nvlist returned
during import. This is used by the updated mmp test cases
to determine if an activity check was run and its result.

- Standardize the mmp messages similarly to make it easier to
find all the relevent mmp lines in the debug log.

Signed-off-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Olaf Faaland <faal...@llnl.gov>
Reviewed-by: Akash B <aka...@hpe.com>

- - - - -
731ff0a5 by Brian Behlendorf at 2026-02-09T09:36:10-08:00
zhack: add -G option to dump debug buffer

Add a -G option to zhack to dump the internal debug buffer on exit.
We were able to use the same code from zdb for this which was nice.

Signed-off-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Olaf Faaland <faal...@llnl.gov>
Reviewed-by: Akash B <aka...@hpe.com>

- - - - -
d4c0e521 by Brian Behlendorf at 2026-02-09T09:36:14-08:00
zhack: add "action idle" subcommand

In order to reliably test the multihost protection we need two (or more)
systems attempting to import the pool at the same time. Historically, we've
used ztest running in userspace to simulate an active pool and attempted to
import the pool with the kernel modules. This works but ztest is a bit
unwieldy for this and if it crashes for unrelated reasons it can result
in false positives.

All we really need is the pool imported in userspace so the MMP thread is
active and writing out uberblocks. We can extend zhack which already knows
how to import the pool read/write and add an option to leave the pool open
and idle.

Signed-off-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Olaf Faaland <faal...@llnl.gov>
Reviewed-by: Akash B <aka...@hpe.com>

- - - - -
ae488e49 by Brian Behlendorf at 2026-02-09T09:36:18-08:00
ZTS: update the relevant mmp test cases

- mmp_concurrent_import: added test case to verify that concurrent
import correctness. The pool may only be imported once.

- mmp_exported_import: an activity check is now required for pools
which were cleanly exported if the system and pool hostids don't
match.

- mmp_inactive_import: an activity check is now required for any
pool which wasn't cleanly exported, even if the system and pool
hostids match.

- mmp_on_uberblocks: updated expected uberblocks to take in to account
the value MMP_INTERVAL_DEFAULT is set too.

- mmp_reset_interval: reduce the number of iterations from 10 to 3.
This is sufficient to verify functionality and significantly speeds
up the test.

- mmp_on_uberblocks: adjust the thresholds and increase the runtime
to avoid false positives observed in CI.

- Update tests to use 'zhack action idle' instead of ztest to improve
the reliability of the tests.

- Add additional log_note messages to test cases which have multiple
verification steps to make it clear which portion of a test failed
when reviewing the logs.

- Replace default_setup/cleanup_noexit calls with 'zpool create' and
'zpool destroy' calls to avoid additional unnecessary dataset
creation work.

- Update activity/noactivity check helper functions to use the
ZFS_LOAD_INFO_DEBUG information now available from 'zpool import'
to determine if this activity check ran and why. This is more
reliable in the CI than measuring the runtime.

- Removed all mmp tests from the zts-report.py exceptions list.

Signed-off-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Olaf Faaland <faal...@llnl.gov>
Reviewed-by: Akash B <aka...@hpe.com>

- - - - -
15fbf534 by Rob Norris at 2026-02-09T10:11:09-08:00
AUTHORS: add names of recent new contributors

"Welcome to my house! Enter freely. Go safely, and leave something of
the happiness you bring!"

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <ro...@despairlabs.com>
Closes #18189
- - - - -
2646bd55 by Alexander Motin at 2026-02-09T10:17:56-08:00
Allow rewrite skip cloned and snapshotted blocks

Rewrite of cloned and snapshotted blocks can allocate additional
space, that may be undesired. In some cases it may have sense
to still rewrite snapshotted blocks, expecting the snapshots to
rotate with time, freeing space. In other cases rewrite of cloned
blocks may be acceptable, despite persistent space usage increase.
For this reason add them as separate flags to `zfs rewrite`.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Rob Norris <ro...@despairlabs.com>
Reviewed-by: Ameer Hamza <aha...@ixsystems.com>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18179
- - - - -
64bae56b by Tim Hatch at 2026-02-09T10:19:08-08:00
Include missing newline in 'man' error

Because the `strerror` result doesn't include a newline, we need to add
one. Observed on a minimal system that doesn't have `man` installed,
which behaves like this before the fix:

```
[root@upper tim]# zpool help import
couldn't run man program: No such file or directory[root@upper tim]#
```

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Tim Hatch <t...@timhatch.com>
Closes #18183
- - - - -
1412bdc6 by rmacklem at 2026-02-10T09:29:37-05:00
zfs_vnops_os.c: Move a vput() to after zfs_setattr_dir()

Without this patch, the following crash can occur when
a file system is configured with "xattr=dir".

VNASSERT failed: locked not true at
/posix-acl/freebsd-rdma/sys/kern/vfs_subr.c:5786 (assert_vop_locked)
hold count flags ()
flags ()
lock type zfs: UNLOCKED
panic: zfs_dirent_lookup: vnode is not locked but should be
cpuid = 3
time = 1770520763
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b
vpanic() at vpanic+0x136/frame 0xfffffe00914c8270
panic() at panic+0x43/frame 0xfffffe00914c82d0
assert_vop_locked() at assert_vop_locked+0x78
zfs_dirent_lookup() at zfs_dirent_lookup+0x41
zfs_setattr_dir() at zfs_setattr_dir+0x123
zfs_setattr() at zfs_setattr+0x1389
zfs_freebsd_setattr() at zfs_freebsd_setattr+0x56b
VOP_SETATTR_APV() at VOP_SETATTR_APV+0x5d
setfown() at setfown+0xb1
kern_fchownat() at kern_fchownat+0x192

This patch fixes the problem by moving the vput() call for
attrzp to after the zfs_setattr_dir() call that takes it as
an argument.

Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rick Macklem <rmac...@uoguelph.ca>
Closes: #18188
- - - - -
aa29455d by Alexander Motin at 2026-02-10T09:53:24-08:00
Restrict cloning with different properties

While technically its not a problem to clone between datasets with
different properties, it might create expectation of new properties
being applied during data move, while actually it won't happen.
For copies and checksum it may mean incorrect safety expectations.
For dedup, compression and special_small_blocks -- performance and
space usage. New zfs_bclone_strict_properties tunable controls it.

Reviewed-by: Rob Norris <ro...@despairlabs.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18180
- - - - -
e601a1fb by Tony Hutter at 2026-02-10T09:54:17-08:00
CI: Test build Lustre against ZFS

The Lustre filessytem calls a number of exported ZFS functions. Do a
test build on the Almalinux runners to make sure we're not breaking
Lustre. We do the Lustre build in parallel with the normal ZTS test
for efficiency, since ZTS isn't very CPU intensive. The full Lustre
build takes around 15min when run on its own.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Tony Hutter <hut...@llnl.gov>
Closes #18161
- - - - -
040ba7a7 by Christos Longros at 2026-02-10T13:19:44-08:00
libzfs: improve error message for zpool create with ENXIO

When zpool create fails because a vdev cannot be opened (ENXIO),
the error falls through to zpool_standard_error() which reports
the generic 'one or more devices is currently unavailable'. This
is misleading when the real cause is a block size mismatch or
other device open failure.

Add an explicit ENXIO case in zpool_create()'s error handling to
provide a more descriptive message.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Christos Longros <chris....@gmail.com>
Closes #18184
Closes #11087
- - - - -
fdd70565 by Tony Hutter at 2026-02-11T09:37:02-08:00
Linux 6.19 compat: META

Update the META file to reflect compatibility with the 6.19
kernel.

Reviewed-by: Rob Norris <ro...@despairlabs.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Tony Hutter <hut...@llnl.gov>
Closes #18197
- - - - -
3463d407 by Tony Hutter at 2026-02-11T10:05:14-08:00
ZTS: Fix zed_synchronous_zedlet

Wait for scrub_finish (as the comments in the code suggest) rather
than trim_finish in zed_synchronous_zedlet.ksh. This seems to
workaround the ZTS failures in #18192. Also, fix some typos.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Tony Hutter <hut...@llnl.gov>
Closes #18192
Closes #18196
- - - - -
cc184fe9 by Marc Sladek at 2026-02-11T10:30:26-08:00
Fix `send:raw` permission for send `-w -I`

When performing an incremental raw send with intermediates (-w -I),
the standard 'send' permission was incorrectly required instead of
allowing 'send:raw'. This was due to a strict boolean comparison on
the 'rawok' flag in zfs_secpolicy_send() with non-boolean value.

This change normalizes the 'rawok' variable to be strictly 0/1 and
updates the test suite to properly verify delegated raw send behavior.

Introduced-by: https://github.com/openzfs/zfs/pull/17543
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Marc Sladek <ma...@sladek.dev>
Closes #18198
Closes #18193
- - - - -
cdf89f41 by Mariusz Zaborski at 2026-02-11T11:35:45-08:00
Flush RRD only when TXGs contain data

This change modifies the behavior of spa_sync_time_logger when
flushing the RRD database.

Previously, once the sync interval elapsed, a flush would always
be generated. On solid-state devices, especially when the pool was
otherwise idle, this caused disks to wake up solely to write RRD
data. Since RRD is best-effort telemetry, this behavior is
unnecessary and wasteful.

With this change, spa_sync_time_logger delays flushing until a TXG
that already contains data is being synced. The RRD update is
appended to that TXG instead of forcing the creation of
a new write-only TXG.

During pool export, flushing is forced regardless of whether
the TXG contains user data. At that stage, data durability takes
precedence and a write must be issued.

Sponsored by: [Wasabi Technology, Inc.; Klara, Inc.]
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Mariusz Zaborski <mariusz....@klarasystems.com>
Closes #18082
Closes #18138
- - - - -
ba970eb2 by Alexander Motin at 2026-02-16T10:33:21-05:00
Cleanup allocation class selection

- For multilevel gang blocks it seemed possible to fallback from
normal to special class, since they don't have proper object type,
and DMU_OT_NONE is a "metadata". They should never fallback.
- Fix possible inversion with zfs_user_indirect_is_special = 0,
when indirects written to normal vdev, while small data to special.
Make small indirect blocks also follow special_small_blocks there.
- With special_small_blocks now applying to both files and ZVOLs,
make it apply to all non-metadata without extra checks, since there
are no other non-metadata types.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18208
- - - - -
0f9564e8 by Alexander Motin at 2026-02-16T10:34:22-05:00
Simplify dnode_level_is_l2cacheable()

We should not dereference through dn_handle->dnh_dnode once we
already have a dnode pointer. The result will be the same.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18212
- - - - -
bee53d8c by Attila Fülöp at 2026-02-17T13:09:41-08:00
Linux 6.19 compat: in-tree build: fix duplicate GCM assembly functions

Linux 6.19 added an AES-GCM VAES-AVX2 assembly implementation. It's
basically a translation from the BoringSSL perlasm syntax to macro
assembly. We're using the same source but the perlasm generated flat
assembly which shares some global function names with the former.
When building in-tree this results in the linker failing due to the
duplicate symbols.

To avoid the error we prepend `icp_` via a macro to our function
names.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Moch <ma...@alexmoch.com>
Signed-off-by: Attila Fülöp <att...@fueloep.org>
Closes #18204
Closes #18224
- - - - -
bfb276e5 by Jessica Clarke at 2026-02-17T16:46:02-08:00
freebsd: Fix TIMESPEC_OVERFLOW for PowerPC

Once upon a time, 32-bit PowerPC did indeed have a 32-bit time_t, but
FreeBSD 12.0 switched to a 64-bit time_t for PowerPC as an ABI break,
which predates the addition of FreeBSD support to OpenZFS. Moreover,
64-bit PowerPC has existed since FreeBSD 9.0, where __powerpc__ is also
defined (alongside __powerpc64__ to disambiguate), which has always had
a 64-bit time_t. This code has therefore always been wrong for all
PowerPC variants. Fix this by limiting the 32-bit case to just i386,
which is the only architecture in FreeBSD to have a 32-bit time_t and
not have broken ABI, due to its special legacy compatibility status.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Jessica Clarke <jrt...@jrtc27.com>
Closes #18217
Closes #18218
- - - - -
d4896772 by Attila Fülöp at 2026-02-17T16:51:32-08:00
ICP: AES-GCM VAES-AVX2: fix typos and document source files

Require AVX2 compiler support and document source files for
`aesni-gcm-avx2-vaes.S`.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Signed-off-by: Attila Fülöp <att...@fueloep.org>
Closes #18225
- - - - -
37057089 by Alexander Motin at 2026-02-18T18:12:13-08:00
Remove parent ZIO from dbuf_prefetch()

I am not sure why it was added there 10 years ago, but it seems not
needed now. According to my tests removing it improves sequential
read performance with recordsize=4K by 5-10% by reducing the CPU
overhead in prefetcher.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Rob Norris <ro...@despairlabs.com>
Reviewed-by: Ameer Hamza <aha...@ixsystems.com>
Reviewed-by: Akash B <aka...@hpe.com>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18214
- - - - -
c8a72a27 by Attila Fülöp at 2026-02-19T10:10:02-08:00
ICP: AES-GCM assembly: remove unused Gmul functions

In the AES-GCM assembly files we are defining Gmul functions we
don't use anywhere.

Just remove the dead code.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Attila Fülöp <att...@fueloep.org>
Closes #18226
- - - - -
640a217f by Tony Hutter at 2026-02-19T10:15:41-08:00
CI: Test & fix Linux ZFS built-in build

ZFS can be built directly into the Linux kernel. Add a test build
of this to the CI to verify it works. The test build is only enabled
on Fedora runners (since they run the newest kernels) and is done in
parallel with ZTS. The test build is done on vm2, since it typically
finishes ~15min before vm1 and thus has time to spare.

In addition:

- Update 'copy-builtin' to check that $1 is a directory
- Fix some VERIFYs that were causing the built-in build to fail

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Tony Hutter <hut...@llnl.gov>
Closes #18234
- - - - -
d06a1d9a by Alexander Motin at 2026-02-19T10:36:35-08:00
Fix available space accounting for special/dedup (#18222)

Currently, spa_dspace (base to calculate dataset AVAIL) only includes
the normal allocation class capacity, but dd_used_bytes tracks space
allocated across all classes. Since we don't want to report free
space of other classes as available (we can't promise new allocations
will be able to use it), report only allocated space, similar to how
we report space saved by dedup and block cloning.

Since we need deflated space here, make allocation classes track
deflated allocated space also. While here, make mc_deferred also
deflated, matching its use contexts. Also while there, use
atomic_load() to read the allocation class stats.

Reviewed-by: Rob Norris <ro...@despairlabs.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18190
Closes #18222
- - - - -
b291d9aa by Rob Norris at 2026-02-19T15:16:18-08:00
get_cpu_freq: handle CPUs with variable frequency

If a CPU has variable frequency, then lscpu will list separate "CPU min
freq" and "CPU max freq" values. In this case, take the maximum.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Attila Fülöp <att...@fueloep.org>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18232

- - - - -
aeb9fb38 by Rob Norris at 2026-02-19T15:16:36-08:00
sha2_test: do correctness checks for all implementations

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Attila Fülöp <att...@fueloep.org>
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18232

- - - - -
b021cb60 by Rob Norris at 2026-02-20T13:36:49-08:00
ZTS: make get_same_blocks() fail harder if zdb fails

Because it's called in $(...), it will swallow all errors, so we have to
work harder to recognise falure and echo a string that can't ever match
what the test is expecting.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18230

- - - - -
9f874ad0 by Rob Norris at 2026-02-20T13:37:11-08:00
zdb: don't try to load key for unencrypted dataset

Previously using -K/--key on an unencrypted dataset would trip a VERIFY,
because the dataset has nowhere to load the key into.

Now, just ignore it. This makes zdb much easier to drive when there's a
mix of encrypt and non-encrypted datasets, as the key can provided for
all of them (at least, assuming the same encryption root, which is a
common enough case).

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18230

- - - - -
d11c6615 by Rob Norris at 2026-02-20T13:37:43-08:00
zdb: handle key load/derive failures a bit more gracefully

There's no real need to outright crash if key loading fails; we can
just unwind nicely.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18230

- - - - -
168023b6 by Rob Norris at 2026-02-22T11:39:06-08:00
Linux 7.0: explicitly set setlease handler to kernel implementation

The upcoming 7.0 kernel will no longer fall back to generic_setlease(),
instead returning EINVAL if .setlease is NULL. So, we set it explicitly.

To ensure that we catch any future kernel change, adds a sanity test for
F_SETLEASE and F_GETLEASE too. Since this is a Linux-specific test,
also a small adjustment to the test runner to allow OS-specific helper
programs.

Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18215
- - - - -
d2f5cb3a by Tony Hutter at 2026-02-22T11:43:51-08:00
Move range_tree, btree, highbit64 to common code

Break out the range_tree, btree, and highbit64/lowbit64 code from kernel
space into shared kernel and userspace code. This is needed for the
updated `zpool status -vv` error byte range reporting that will be
coming in a future commit. That commit needs the range_tree code in
kernel and userspace.

Reviewed-by: Rob Norris <ro...@despairlabs.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Tony Hutter <hut...@llnl.gov>
Closes #18133
- - - - -
4975430c by MigeljanImeri at 2026-02-23T09:34:33-08:00
Add vdev property to disable vdev scheduler

Added vdev property to disable the vdev scheduler.
The intention behind this property is to improve IOPS
performance when using o_direct.

Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Alexander Motin <alexand...@TrueNAS.com>
Signed-off-by: MigeljanImeri <Imeri...@gmail.com>
Closes #17358
- - - - -
bbf0106c by Louis Leseur at 2026-02-23T09:39:51-08:00
build: get objtool from $kernelbuild

On systems where `$kernelsrc` is different than `$kernelbuild`, the
objtool binary will be located in `$kernelbuild` as it's the result of
running `make prepare` during kernel build.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Attila Fülöp <att...@fueloep.org>
Signed-off-by: Louis Leseur <louis....@gmail.com>
Closes #18248
Closes #18249
- - - - -
6a717f31 by Christos Longros at 2026-02-23T09:41:24-08:00
Improve misleading error messages for ZPOOL_STATUS_CORRUPT_POOL

When devices are missing or claimed by another subsystem (e.g.
mdadm, LVM), zpool import reports "The pool metadata is corrupted"
and suggests destroying the pool. This is misleading because the
metadata is not necessarily corrupted -- it may simply be incomplete
due to inaccessible devices.

Update the status, action, and recovery messages to acknowledge
that missing devices can trigger this status, and suggest checking
device availability before resorting to pool destruction.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Chris Longros <chris....@gmail.com>
Closes #18251
Closes #8236
- - - - -
7744f049 by Attila Fülöp at 2026-02-23T09:42:25-08:00
SIMD: libspl: test the correct CPUID bit for AVX512VL

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Attila Fülöp <att...@fueloep.org>
Closes #18254
- - - - -
204de946 by Rob Norris at 2026-02-23T09:44:20-08:00
Linux 7.0: blk_queue_nonrot() renamed to blk_queue_rot()

It does exactly the same thing, just inverts the return. Detect its
presence or absence and call the right one.

Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18216

- - - - -
d34fd6cf by Rob Norris at 2026-02-23T09:44:48-08:00
Linux 7.0: posix_acl_to_xattr() now allocates memory

Kernel devs noted that almost all callers to posix_acl_to_xattr() would
check the ACL value size and allocate a buffer before make the call. To
reduce the repetition, they've changed it to allocate this buffer
internally and return it.

Unfortunately that's not true for us; most of our calls are from
xattr_handler->get() to convert a stored ACL to an xattr, and that call
provides a buffer. For now we have no other option, so this commit
detects the new version and wraps to copy the value back into the
provided buffer and then free it.

Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18216

- - - - -
0f608aa6 by Rob Norris at 2026-02-23T09:45:12-08:00
Linux 7.0: add shims for the fs_context-based mount API

The traditional mount API has been removed, so detect when its not
available and instead use a small adapter to allow our existing mount
functions to keep working.

Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18216

- - - - -
3408332d by Mateusz Piotrowski at 2026-02-24T10:24:22-08:00
zhack: Fix importing large allocation profiles on small pools (#18256)

This patch fixes a segmentation fault in zhack metaslab leak which might
be triggered by feeding zhack with a fragmentation profile that's
exported from a pool larger than the target pool.

Fixes: 8f15d2e4d58525e583277ccfef83f2056be4f72e
Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Paul Dagnelie <paul.d...@klarasystems.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>

Signed-off-by: Mateusz Piotrowski <mateusz.p...@klarasystems.com>
- - - - -
991fc56f by Alexander Motin at 2026-02-25T09:41:38-05:00
Introduce dedupused/dedupsaved pool properties

Currently there is only a dedup ratio reported via pool properties.
If dedup is enabled only for some datasets, it is impossible to say
how much space the ratio actually covers. Fix this by introducing
dedupused/dedupsaved pool properties, similar to earlier added
block cloning ones. Combined with work to expose allocation classes
stats, it should give user-space enough visibility to correlate
`zpool list` and `zfs list` space numbers.

Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Ryan Moeller <ryan.m...@klarasystems.com>
Signed-off-by: Alexander Motin <alexand...@TrueNAS.com>
Closes #18245
- - - - -
4da3f059 by Tony Hutter at 2026-02-25T11:20:23-08:00
CI: Remove deprecated Fedora 41

Fedora 41 was deprecated on Dec 15 2025. Remove it from CI tests.

Reviewed-by: Rob Norris <ro...@despairlabs.com>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: George Melikov <ma...@gmelikov.ru>
Signed-off-by: Tony Hutter <hut...@llnl.gov>
Closes #18261
- - - - -
6495dafd by clefru at 2026-02-25T11:26:10-08:00
range_tree: use zfs_panic_recover() for partial-overlap remove

zfs_range_tree_remove_impl() used a bare panic() when a segment to be
removed was not completely overlapped by an existing tree entry. Every
other consistency check in range_tree.c uses zfs_panic_recover(), which
respects the zfs_recover tunable and allows pools with on-disk
corruption to be imported and recovered. This one call was
inconsistent, making the partial-overlap case unrecoverable regardless
of zfs_recover.

Replace panic() with zfs_panic_recover() so that operators can set
zfs_recover=1 to import a corrupted pool and reclaim data, consistent
with all other range tree error paths.

Related-to: https://github.com/openzfs/zfs/issues/13483
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Clemens Fruhwirth <cle...@endorphin.org>
Co-authored-by: Claude Sonnet 4.6 <nor...@anthropic.com>
Closes #18255
- - - - -
3547a358 by Rob Norris at 2026-02-25T12:47:48-08:00
simd: detect and surface support for Intel SHA512 extensions

Recent Intel CPUs (starting with Arrow Lake and Lunar Lake) include new
vectorised SHA512 instructions. Detect them and make them available to
the rest of the system.

Note the internal name "sha512ext". This is to disambiguate from other
uses of "sha512".

Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Attila Fülöp <att...@fueloep.org>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18233

- - - - -
09c27a14 by Rob Norris at 2026-02-25T12:48:30-08:00
icp: add SHA512 implementation using Intel SHA512 extensions

Generated from crypto/sha/asm/sha512-x86_64.pl in
openssl/openssl@241d4826f8.

Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Attila Fülöp <att...@fueloep.org>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18233

- - - - -
f3d4c794 by Rob Norris at 2026-02-25T13:17:33-08:00
zpl_super: prefer "new" mount API when available

This API has been available since kernel 5.2, and having it available
(almost) everywhere should give us a lot more flexibility for mount
management in the future.

Sponsored-by: TrueNAS
Reviewed-by: Tony Hutter <hut...@llnl.gov>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Rob Norris <rob.n...@truenas.com>
Closes #18260
- - - - -
f8457fbd by Andriy Tkachuk at 2026-02-26T11:18:02-08:00
Fix deadlock on dmu_tx_assign() from vdev_rebuild()

vdev_rebuild() is always called with spa_config_lock held in
RW_WRITER mode. However, when it tries to call dmu_tx_assign()
the latter may hang on dmu_tx_wait() waiting for available txg.
But that available txg may not happen because txg_sync takes
spa_config_lock in order to process the current txg. So we have
a deadlock case here:

- dmu_tx_assign() waits for txg holding spa_config_lock;
- txg_sync waits for spa_config_lock not progressing with txg.

Here are the stacks:

__schedule+0x24e/0x590
schedule+0x69/0x110
cv_wait_common+0xf8/0x130 [spl]
__cv_wait+0x15/0x20 [spl]
dmu_tx_wait+0x8e/0x1e0 [zfs]
dmu_tx_assign+0x49/0x80 [zfs]
vdev_rebuild_initiate+0x39/0xc0 [zfs]
vdev_rebuild+0x84/0x90 [zfs]
spa_vdev_attach+0x305/0x680 [zfs]
zfs_ioc_vdev_attach+0xc7/0xe0 [zfs]

cv_wait_common+0xf8/0x130 [spl]
__cv_wait+0x15/0x20 [spl]
spa_config_enter+0xf9/0x120 [zfs]
spa_sync+0x6d/0x5b0 [zfs]
txg_sync_thread+0x266/0x2f0 [zfs]

The solution is to pass txg returned by spa_vdev_enter(spa)
at the top of spa_vdev_attach() to vdev_rebuild() and call
dmu_tx_create_assigned(txg) which doesn't wait for txg.

Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Reviewed-by: Akash B <aka...@hpe.com>
Reviewed-by: Alek Pinchuk <apin...@axcient.com>
Signed-off-by: Andriy Tkachuk <andriy....@seagate.com>
Closes #18210
Closes #18258
- - - - -
f8e5af53 by Akash B at 2026-02-27T10:39:52-08:00
Fix redundant declaration of dsl_pool_t

Remove redundant dsl_pool variable and duplicate spa_get_dsl()
call in vdev_rebuild_thread.

Reviewed-by: Alexander Motin <m...@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behle...@llnl.gov>
Signed-off-by: Akash B <aka...@hpe.com>
Closes #18263
- - - - -
8a62a2a5 by Martin Matuska at 2026-03-14T13:14:56+01:00
zfs: merge openzfs/zfs@f8e5af53e

Notable upstream pull request merges:
#17358 4975430cf Add vdev property to disable vdev scheduler
#18031 c77f17b75 Add snapshots_changed_nsecs dataset property
#18080 dbb3f247e cmd/zfs: clone: accept `-u` to not mount newly created
datasets
#18089 -multiple Zstd: Update bundled library to version 1.5.7
#18091 2301755df Fix zfs_open() to skip zil_async_to_sync() for the
snapshot
#18093 -multiple L2ARC: Rework write throttling with DWPD rate limiting
and parallel writes
#18095 2dbd6af5e Rename several printf attributes declarations to
__printf__
#18096 8605bdfdd FreeBSD: unbreak compilation on i386
#18105 794f1587d When receiving a stream with the large block flag,
activate feature
#18115 765929cb4 DDT: Add locking for table ZAP destruction
#18118 09e4e01e9 Fix history logging for `zpool create -t`
#18119 2f1f25217 icp: emit .note.GNU-stack section for all ELF targets
#18131 3fffe4e70 Fix --enable-invariants on FreeBSD
#18133 d2f5cb3a5 Move range_tree, btree, highbit64 to common code
#18136 54b141fab FreeBSD: Remove references to DEBUG_VFS_LOCKS
#18138 cdf89f413 Flush RRD only when TXGs contain data
#18139 a157ef62a Make sure we can still write data to txg
#18140 cd895f0e5 remove thread unsafe debug code causing FreeBSD double
free panic
#18144 4f180e095 Fix activating large_microzap on receive
#18146 35b2d3970 Lock db_mtx around arc_release() in couple places
#18154 b36472052 nvpair: chase FreeBSD xdrproc_t definition
#18160 21bbe7cb6 Improve caching for dbuf prefetches
#18177 -multiple Multihost Improvements
#18179 2646bd558 Allow rewrite skip cloned and snapshotted blocks
#18180 aa29455dd Restrict cloning with different properties
#18184 040ba7a7c libzfs: improve error message for zpool create with
ENXIO
#18188 1412bdc6c zfs_vnops_os.c: Move a vput() to after
zfs_setattr_dir()
#18198 cc184fe98 Fix `send:raw` permission for send `-w -I`
#18208 ba970eb20 Cleanup allocation class selection
#18212 0f9564e85 Simplify dnode_level_is_l2cacheable()
#18214 370570890 Remove parent ZIO from dbuf_prefetch()
#18218 bfb276e55 freebsd: Fix TIMESPEC_OVERFLOW for PowerPC
#18222 d06a1d9ac Fix available space accounting for special/dedup
#18225 d48967728 ICP: AES-GCM VAES-AVX2: fix typos and document
source files
#18226 c8a72a27e ICP: AES-GCM assembly: remove unused Gmul functions
#18230 -multiple Fix zdb --key crash for unencrypted datasets, and
teach tests to understand this better
#18233 -multiple icp: add SHA-512 implementation using Intel SHA512
extension
#18245 991fc56fa Introduce dedupused/dedupsaved pool properties
#18251 6a717f31e Improve misleading error messages for
ZPOOL_STATUS_CORRUPT_POOL
#18254 7744f0496 SIMD: libspl: test the correct CPUID bit for AVX512VL
#18255 6495dafd5 range_tree: use zfs_panic_recover() for
partial-overlap remov
#18256 3408332d7 zhack: Fix importing large allocation profiles on
small pools
#18258 f8457fbdc Fix deadlock on dmu_tx_assign() from vdev_rebuild()
#18263 f8e5af53e Fix redundant declaration of dsl_pool_t

Obtained from: OpenZFS
OpenZFS commit: f8e5af53e92fa7c03393fbd4922cb9c1d0c15920

- - - - -
4efe7fa0 by Laurent Chardon at 2026-03-14T11:26:34-04:00
committers-ports.dot: Add new committer (laurent)

Update Mentor (thierry) and Mentee (laurent) Information.

Reviewed by: thierry (mentor)
Approved by: thierry (mentor)
Differential Revision: https://reviews.freebsd.org/D55856

- - - - -
736d8852 by Siva Mahadevan at 2026-03-14T11:32:16-04:00
tests/fusefs: fix sign-compare warning on armv7

Fixes: 7e68af7ce2c1b892954df415774fe59fd2f1b62f
Reviewed by: asomers
Approved by: emaste (mentor)
Differential Revision: https://reviews.freebsd.org/D55846

- - - - -
922d7354 by Siva Mahadevan at 2026-03-14T11:34:03-04:00
tarfs: swap deprecated ZSTD_resetDStream() with ZSTD_DCtx_reset()

ZSTD_resetDStream() is deprecated since 1.5.4: https://github.com/facebook/zstd/commit/5d8cfa6b96a6442ab1251f9de3b47a0eb12561a0

This change is needed to MFV zstd 1.5.7.

Approved by: emaste (mentor)
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D55835

- - - - -
251907ca by Colin Percival at 2026-03-14T09:33:32-07:00
EC2: Fix comment re avoiding unicode

We're avoiding *unicode*, not avoiding *ascii*.

Reported by: marck
Fixes: 277830b4d3ae ("EC2: Don't use unicode in boot loader")
MFC after: 3 days

- - - - -


517 changed files:

- cddl/lib/libzfs/Makefile
- cddl/lib/libzpool/Makefile
- release/tools/ec2.conf
- share/misc/committers-ports.dot
- stand/libsa/zfs/Makefile.inc
- + stand/libsa/zfs/xxhash.c
- sys/conf/files
- sys/contrib/openzfs/.github/workflows/scripts/qemu-1-setup.sh
- sys/contrib/openzfs/.github/workflows/scripts/qemu-2-start.sh
- sys/contrib/openzfs/.github/workflows/scripts/qemu-3-deps-vm.sh
- sys/contrib/openzfs/.github/workflows/scripts/qemu-5-setup.sh
- + sys/contrib/openzfs/.github/workflows/scripts/qemu-6-lustre-tests-vm.sh
- sys/contrib/openzfs/.github/workflows/scripts/qemu-6-tests.sh
- sys/contrib/openzfs/.github/workflows/scripts/qemu-8-summary.sh
- sys/contrib/openzfs/.github/workflows/scripts/qemu-test-repo-vm.sh
- sys/contrib/openzfs/.github/workflows/zfs-qemu-packages.yml
- sys/contrib/openzfs/.github/workflows/zfs-qemu.yml
- sys/contrib/openzfs/.mailmap
- sys/contrib/openzfs/AUTHORS
- sys/contrib/openzfs/META
- sys/contrib/openzfs/Makefile.am
- sys/contrib/openzfs/autogen.sh
- sys/contrib/openzfs/cmd/Makefile.am
- sys/contrib/openzfs/cmd/raidz_test/Makefile.am
- sys/contrib/openzfs/cmd/zdb/Makefile.am
- sys/contrib/openzfs/cmd/zdb/zdb.c
- sys/contrib/openzfs/cmd/zed/Makefile.am
- sys/contrib/openzfs/cmd/zed/zed.d/Makefile.am
- sys/contrib/openzfs/cmd/zed/zed.d/history_event-zfs-list-cacher.sh.in
- sys/contrib/openzfs/cmd/zfs/Makefile.am
- sys/contrib/openzfs/cmd/zfs/zfs_main.c
- sys/contrib/openzfs/cmd/zhack.c
- sys/contrib/openzfs/cmd/zinject/Makefile.am
- sys/contrib/openzfs/cmd/zpool/Makefile.am
- sys/contrib/openzfs/cmd/zpool/zpool_main.c
- sys/contrib/openzfs/cmd/zpool/zpool_util.c
- sys/contrib/openzfs/cmd/zpool/zpool_util.h
- sys/contrib/openzfs/cmd/zpool_influxdb/Makefile.am
- sys/contrib/openzfs/cmd/zstream/Makefile.am
- sys/contrib/openzfs/cmd/ztest.c
- sys/contrib/openzfs/config/CppCheck.am
- sys/contrib/openzfs/config/Rules.am
- sys/contrib/openzfs/config/Shellcheck.am
- sys/contrib/openzfs/config/Substfiles.am
- sys/contrib/openzfs/config/always-arch.m4
- sys/contrib/openzfs/config/always-compiler-options.m4
- sys/contrib/openzfs/config/always-cppcheck.m4
- sys/contrib/openzfs/config/always-parallel.m4
- sys/contrib/openzfs/config/always-python.m4
- sys/contrib/openzfs/config/always-pyzfs.m4
- sys/contrib/openzfs/config/always-sed.m4
- sys/contrib/openzfs/config/always-shellcheck.m4
- sys/contrib/openzfs/config/always-system.m4
- sys/contrib/openzfs/config/ax_compare_version.m4
- sys/contrib/openzfs/config/ax_count_cpus.m4
- sys/contrib/openzfs/config/ax_python_devel.m4
- sys/contrib/openzfs/config/ax_restore_flags.m4
- sys/contrib/openzfs/config/ax_save_flags.m4
- sys/contrib/openzfs/config/deb.am
- sys/contrib/openzfs/config/find_system_library.m4
- sys/contrib/openzfs/config/gettext.m4
- sys/contrib/openzfs/config/host-cpu-c-abi.m4
- sys/contrib/openzfs/config/iconv.m4
- sys/contrib/openzfs/config/kernel-access-ok-type.m4
- sys/contrib/openzfs/config/kernel-acl.m4
- sys/contrib/openzfs/config/kernel-add-disk.m4
- sys/contrib/openzfs/config/kernel-assign_str.m4
- sys/contrib/openzfs/config/kernel-automount.m4
- sys/contrib/openzfs/config/kernel-bio.m4
- sys/contrib/openzfs/config/kernel-bio_max_segs.m4
- sys/contrib/openzfs/config/kernel-blk-queue.m4
- sys/contrib/openzfs/config/kernel-blkdev.m4
- sys/contrib/openzfs/config/kernel-block-device-operations.m4
- sys/contrib/openzfs/config/kernel-commit-metadata.m4
- sys/contrib/openzfs/config/kernel-config-defined.m4
- sys/contrib/openzfs/config/kernel-copy-from-user-inatomic.m4
- sys/contrib/openzfs/config/kernel-cpu_has_feature.m4
- sys/contrib/openzfs/config/kernel-declare-event-class.m4
- sys/contrib/openzfs/config/kernel-dentry-operations.m4
- sys/contrib/openzfs/config/kernel-discard-granularity.m4
- sys/contrib/openzfs/config/kernel-drop-inode.m4
- sys/contrib/openzfs/config/kernel-file.m4
- + sys/contrib/openzfs/config/kernel-filelock.m4
- sys/contrib/openzfs/config/kernel-filemap-splice-read.m4
- sys/contrib/openzfs/config/kernel-flush_dcache_page.m4
- sys/contrib/openzfs/config/kernel-fmode-t.m4
- sys/contrib/openzfs/config/kernel-follow-down-one.m4
- sys/contrib/openzfs/config/kernel-fpu.m4
- sys/contrib/openzfs/config/kernel-free-inode.m4
- + sys/contrib/openzfs/config/kernel-fs-context.m4
- − sys/contrib/openzfs/config/kernel-fst-mount.m4
- sys/contrib/openzfs/config/kernel-fsync-bdev.m4
- sys/contrib/openzfs/config/kernel-generic_fadvise.m4
- sys/contrib/openzfs/config/kernel-generic_fillattr.m4
- sys/contrib/openzfs/config/kernel-generic_io_acct.m4
- sys/contrib/openzfs/config/kernel-genhd-flags.m4
- sys/contrib/openzfs/config/kernel-get-disk-ro.m4
- sys/contrib/openzfs/config/kernel-iattr-vfsid.m4
- sys/contrib/openzfs/config/kernel-idmap_mnt_api.m4
- sys/contrib/openzfs/config/kernel-inode-create.m4
- sys/contrib/openzfs/config/kernel-inode-getattr.m4
- sys/contrib/openzfs/config/kernel-inode-lookup.m4
- sys/contrib/openzfs/config/kernel-inode-permission.m4
- sys/contrib/openzfs/config/kernel-inode-setattr.m4
- + sys/contrib/openzfs/config/kernel-inode-state.m4
- sys/contrib/openzfs/config/kernel-inode-times.m4
- sys/contrib/openzfs/config/kernel-insert-inode-locked.m4
- sys/contrib/openzfs/config/kernel-is_owner_or_cap.m4
- sys/contrib/openzfs/config/kernel-kasan-enabled.m4
- sys/contrib/openzfs/config/kernel-kmap-atomic-args.m4
- sys/contrib/openzfs/config/kernel-kmap-local-page.m4
- sys/contrib/openzfs/config/kernel-kmem.m4
- sys/contrib/openzfs/config/kernel-kthread.m4
- sys/contrib/openzfs/config/kernel-kuid-helpers.m4
- sys/contrib/openzfs/config/kernel-kuidgid.m4
- sys/contrib/openzfs/config/kernel-make-request-fn.m4
- sys/contrib/openzfs/config/kernel-misc-minor.m4
- sys/contrib/openzfs/config/kernel-mkdir.m4
- sys/contrib/openzfs/config/kernel-mknod.m4
- sys/contrib/openzfs/config/kernel-mm-page-flags.m4
- sys/contrib/openzfs/config/kernel-mm-pagemap.m4
- sys/contrib/openzfs/config/kernel-namespace.m4
- sys/contrib/openzfs/config/kernel-objtool.m4
- sys/contrib/openzfs/config/kernel-pagemap-folio_wait_bit.m4
- sys/contrib/openzfs/config/kernel-pagemap-readahead-page.m4
- sys/contrib/openzfs/config/kernel-pde-data.m4
- sys/contrib/openzfs/config/kernel-percpu.m4
- sys/contrib/openzfs/config/kernel-pin-user-pages.m4
- sys/contrib/openzfs/config/kernel-proc-operations.m4
- sys/contrib/openzfs/config/kernel-reclaim_state.m4
- sys/contrib/openzfs/config/kernel-register_sysctl_table.m4
- sys/contrib/openzfs/config/kernel-rename.m4
- sys/contrib/openzfs/config/kernel-revalidate-disk-size.m4
- sys/contrib/openzfs/config/kernel-sb-dying.m4
- sys/contrib/openzfs/config/kernel-sb-wb-err.m4
- sys/contrib/openzfs/config/kernel-sched.m4
- sys/contrib/openzfs/config/kernel-security-inode-init.m4
- sys/contrib/openzfs/config/kernel-set-nlink.m4
- sys/contrib/openzfs/config/kernel-setattr-prepare.m4
- sys/contrib/openzfs/config/kernel-sget-args.m4
- sys/contrib/openzfs/config/kernel-show-options.m4
- sys/contrib/openzfs/config/kernel-shrink.m4
- sys/contrib/openzfs/config/kernel-siginfo.m4
- sys/contrib/openzfs/config/kernel-stdarg.m4
- sys/contrib/openzfs/config/kernel-strlcpy.m4
- sys/contrib/openzfs/config/kernel-symlink.m4
- sys/contrib/openzfs/config/kernel-sysfs.m4
- sys/contrib/openzfs/config/kernel-timer.m4
- sys/contrib/openzfs/config/kernel-tmpfile.m4
- sys/contrib/openzfs/config/kernel-totalhigh_pages.m4
- sys/contrib/openzfs/config/kernel-totalram-pages-func.m4
- sys/contrib/openzfs/config/kernel-truncate-setsize.m4
- sys/contrib/openzfs/config/kernel-types.m4
- sys/contrib/openzfs/config/kernel-usleep_range.m4
- sys/contrib/openzfs/config/kernel-vfs-file_range.m4
- sys/contrib/openzfs/config/kernel-vfs-filemap_dirty_folio.m4
- sys/contrib/openzfs/config/kernel-vfs-fsync.m4
- sys/contrib/openzfs/config/kernel-vfs-iov_iter.m4
- sys/contrib/openzfs/config/kernel-vfs-migrate_folio.m4
- sys/contrib/openzfs/config/kernel-vfs-migratepage.m4
- sys/contrib/openzfs/config/kernel-vfs-read_folio.m4
- sys/contrib/openzfs/config/kernel-vfs-readpages.m4
- sys/contrib/openzfs/config/kernel-vfs-set_page_dirty.m4
- sys/contrib/openzfs/config/kernel-vfs-writepage.m4
- sys/contrib/openzfs/config/kernel-writeback.m4
- sys/contrib/openzfs/config/kernel-xattr-handler.m4
- sys/contrib/openzfs/config/kernel-zero_page.m4
- sys/contrib/openzfs/config/kernel.m4
- sys/contrib/openzfs/config/lib-ld.m4
- sys/contrib/openzfs/config/lib-link.m4
- sys/contrib/openzfs/config/lib-prefix.m4
- sys/contrib/openzfs/config/mount-helper.m4
- sys/contrib/openzfs/config/nls.m4
- sys/contrib/openzfs/config/pkg.m4
- sys/contrib/openzfs/config/po.m4
- sys/contrib/openzfs/config/progtest.m4
- sys/contrib/openzfs/config/rpm.am
- sys/contrib/openzfs/config/tgz.am
- sys/contrib/openzfs/config/toolchain-simd.m4
- sys/contrib/openzfs/config/user-aio.h.m4
- sys/contrib/openzfs/config/user-backtrace.m4
- sys/contrib/openzfs/config/user-clock_gettime.m4
- sys/contrib/openzfs/config/user-dracut.m4
- sys/contrib/openzfs/config/user-gettext.m4
- sys/contrib/openzfs/config/user-largefile.m4
- sys/contrib/openzfs/config/user-libaio.m4
- sys/contrib/openzfs/config/user-libatomic.m4
- sys/contrib/openzfs/config/user-libblkid.m4
- sys/contrib/openzfs/config/user-libcrypto.m4
- sys/contrib/openzfs/config/user-libexec.m4
- sys/contrib/openzfs/config/user-libfetch.m4
- sys/contrib/openzfs/config/user-libtirpc.m4
- sys/contrib/openzfs/config/user-libudev.m4
- sys/contrib/openzfs/config/user-libunwind.m4
- sys/contrib/openzfs/config/user-libuuid.m4
- sys/contrib/openzfs/config/user-makedev.m4
- sys/contrib/openzfs/config/user-pam.m4
- sys/contrib/openzfs/config/user-runstatedir.m4
- sys/contrib/openzfs/config/user-statx.m4
- sys/contrib/openzfs/config/user-systemd.m4
- sys/contrib/openzfs/config/user-sysvinit.m4
- sys/contrib/openzfs/config/user-udev.m4
- sys/contrib/openzfs/config/user-zlib.m4
- sys/contrib/openzfs/config/user.m4
- sys/contrib/openzfs/config/zfs-build.m4
- sys/contrib/openzfs/config/zfs-meta.m4
- sys/contrib/openzfs/contrib/Makefile.am
- sys/contrib/openzfs/contrib/bash_completion.d/Makefile.am
- sys/contrib/openzfs/contrib/bpftrace/Makefile.am
- sys/contrib/openzfs/contrib/debian/Makefile.am
- sys/contrib/openzfs/contrib/debian/openzfs-libpam-zfs.install
- sys/contrib/openzfs/contrib/dracut/90zfs/mount-zfs.sh.in
- sys/contrib/openzfs/contrib/dracut/Makefile.am
- sys/contrib/openzfs/contrib/initramfs/Makefile.am
- sys/contrib/openzfs/contrib/pam_zfs_key/Makefile.am
- sys/contrib/openzfs/contrib/pam_zfs_key/pam_zfs_key.c
- sys/contrib/openzfs/contrib/pyzfs/Makefile.am
- sys/contrib/openzfs/contrib/pyzfs/docs/source/index.rst
- sys/contrib/openzfs/contrib/pyzfs/libzfs_core/__init__.py
- sys/contrib/openzfs/contrib/pyzfs/libzfs_core/_error_translation.py
- sys/contrib/openzfs/contrib/pyzfs/libzfs_core/_libzfs_core.py
- sys/contrib/openzfs/contrib/pyzfs/libzfs_core/bindings/libzfs_core.py
- sys/contrib/openzfs/contrib/pyzfs/libzfs_core/test/test_libzfs_core.py
- sys/contrib/openzfs/contrib/zcp/Makefile.am
- sys/contrib/openzfs/copy-builtin
- sys/contrib/openzfs/etc/Makefile.am
- sys/contrib/openzfs/include/Makefile.am
- sys/contrib/openzfs/include/libzfs.h
- sys/contrib/openzfs/include/os/freebsd/Makefile.am
- sys/contrib/openzfs/include/os/freebsd/spl/sys/mod.h
- sys/contrib/openzfs/include/os/linux/Makefile.am
- sys/contrib/openzfs/include/os/linux/kernel/linux/dcache_compat.h
- sys/contrib/openzfs/include/os/linux/kernel/linux/simd_x86.h
- sys/contrib/openzfs/include/os/linux/kernel/linux/vfs_compat.h
- sys/contrib/openzfs/include/os/linux/kernel/linux/xattr_compat.h
- sys/contrib/openzfs/include/os/linux/spl/sys/kmem.h
- sys/contrib/openzfs/include/sys/arc.h
- sys/contrib/openzfs/include/sys/arc_impl.h
- sys/contrib/openzfs/include/sys/btree.h
- sys/contrib/openzfs/include/sys/ddt.h
- sys/contrib/openzfs/include/sys/dmu.h
- sys/contrib/openzfs/include/sys/dmu_objset.h
- sys/contrib/openzfs/include/sys/fs/zfs.h
- sys/contrib/openzfs/include/sys/metaslab.h
- sys/contrib/openzfs/include/sys/metaslab_impl.h
- sys/contrib/openzfs/include/sys/mmp.h
- sys/contrib/openzfs/include/sys/spa.h
- sys/contrib/openzfs/include/sys/spa_impl.h
- sys/contrib/openzfs/include/sys/uberblock_impl.h
- sys/contrib/openzfs/include/sys/vdev.h
- sys/contrib/openzfs/include/sys/vdev_impl.h
- sys/contrib/openzfs/include/sys/vdev_rebuild.h
- sys/contrib/openzfs/lib/Makefile.am
- sys/contrib/openzfs/lib/libavl/Makefile.am
- + sys/contrib/openzfs/lib/libbtree/Makefile.am
- sys/contrib/openzfs/lib/libefi/Makefile.am
- sys/contrib/openzfs/lib/libicp/Makefile.am
- sys/contrib/openzfs/lib/libnvpair/Makefile.am
- + sys/contrib/openzfs/lib/librange_tree/Makefile.am
- − sys/contrib/openzfs/lib/libshare/Makefile.am
- − sys/contrib/openzfs/lib/libshare/libshare_impl.h
- − sys/contrib/openzfs/lib/libshare/nfs.h
- sys/contrib/openzfs/lib/libspl/Makefile.am
- sys/contrib/openzfs/lib/libspl/include/Makefile.am
- sys/contrib/openzfs/lib/libspl/include/sys/simd.h
- sys/contrib/openzfs/lib/libspl/include/sys/sysmacros.h
- − sys/contrib/openzfs/lib/libunicode/Makefile.am
- sys/contrib/openzfs/lib/libzdb/Makefile.am
- sys/contrib/openzfs/lib/libzfs/Makefile.am
- sys/contrib/openzfs/lib/libzfs/libzfs.abi
- sys/contrib/openzfs/lib/libzfs/libzfs_dataset.c
- sys/contrib/openzfs/lib/libzfs/libzfs_impl.h
- sys/contrib/openzfs/lib/libzfs/libzfs_mount.c
- sys/contrib/openzfs/lib/libzfs/libzfs_pool.c
- sys/contrib/openzfs/lib/libshare/libshare.c → sys/contrib/openzfs/lib/libzfs/libzfs_share.c
- sys/contrib/openzfs/lib/libspl/include/libshare.h → sys/contrib/openzfs/lib/libzfs/libzfs_share.h
- sys/contrib/openzfs/lib/libshare/nfs.c → sys/contrib/openzfs/lib/libzfs/libzfs_share_nfs.c
- sys/contrib/openzfs/lib/libshare/os/freebsd/nfs.c → sys/contrib/openzfs/lib/libzfs/os/freebsd/libzfs_share_nfs.c
- sys/contrib/openzfs/lib/libshare/os/freebsd/smb.c → sys/contrib/openzfs/lib/libzfs/os/freebsd/libzfs_share_smb.c
- sys/contrib/openzfs/lib/libshare/os/linux/nfs.c → sys/contrib/openzfs/lib/libzfs/os/linux/libzfs_share_nfs.c
- sys/contrib/openzfs/lib/libshare/os/linux/smb.c → sys/contrib/openzfs/lib/libzfs/os/linux/libzfs_share_smb.c
- sys/contrib/openzfs/lib/libzfs_core/Makefile.am
- sys/contrib/openzfs/lib/libzfs_core/libzfs_core.abi
- sys/contrib/openzfs/lib/libzfsbootenv/Makefile.am
- sys/contrib/openzfs/lib/libzpool/Makefile.am
- sys/contrib/openzfs/lib/libzpool/include/Makefile.am
- sys/contrib/openzfs/lib/libzpool/kernel.c
- sys/contrib/openzfs/lib/libzstd/Makefile.am
- sys/contrib/openzfs/lib/libzutil/Makefile.am
- sys/contrib/openzfs/man/Makefile.am
- sys/contrib/openzfs/man/man4/zfs.4
- sys/contrib/openzfs/man/man7/vdevprops.7
- sys/contrib/openzfs/man/man7/zfsprops.7
- sys/contrib/openzfs/man/man7/zpoolconcepts.7
- sys/contrib/openzfs/man/man7/zpoolprops.7
- + sys/contrib/openzfs/man/man8/pam_zfs_key.8
- sys/contrib/openzfs/man/man8/zfs-clone.8
- sys/contrib/openzfs/man/man8/zfs-create.8
- sys/contrib/openzfs/man/man8/zfs-load-key.8
- sys/contrib/openzfs/man/man8/zfs-mount.8
- sys/contrib/openzfs/man/man8/zfs-rename.8
- sys/contrib/openzfs/man/man8/zfs-rewrite.8
- sys/contrib/openzfs/man/man8/zfs.8
- sys/contrib/openzfs/module/Kbuild.in
- sys/contrib/openzfs/module/Makefile.bsd
- sys/contrib/openzfs/module/Makefile.in
- sys/contrib/openzfs/module/icp/algs/modes/gcm.c
- sys/contrib/openzfs/module/icp/algs/sha2/sha512_impl.c
- sys/contrib/openzfs/module/icp/asm-x86_64/modes/aesni-gcm-avx2-vaes.S
- sys/contrib/openzfs/module/icp/asm-x86_64/modes/ghash-x86_64.S
- sys/contrib/openzfs/module/icp/asm-x86_64/sha2/sha512-x86_64.S
- sys/contrib/openzfs/lib/libshare/smb.h → sys/contrib/openzfs/module/icp/include/modes/gcm_asm_rename_funcs.h
- sys/contrib/openzfs/module/nvpair/nvpair.c
- sys/contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c
- sys/contrib/openzfs/module/os/freebsd/zfs/vdev_geom.c
- sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c
- sys/contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c
- − sys/contrib/openzfs/module/os/linux/spl/spl-atomic.c
- sys/contrib/openzfs/module/os/linux/spl/spl-generic.c
- sys/contrib/openzfs/module/os/linux/spl/spl-kmem-cache.c
- sys/contrib/openzfs/module/os/linux/spl/spl-kmem.c
- sys/contrib/openzfs/module/os/linux/spl/spl-kstat.c
- + sys/contrib/openzfs/module/os/linux/spl/spl-math-compat.c
- sys/contrib/openzfs/module/os/linux/spl/spl-trace.c
- sys/contrib/openzfs/module/os/linux/zfs/arc_os.c
- sys/contrib/openzfs/module/os/linux/zfs/vdev_disk.c
- sys/contrib/openzfs/module/os/linux/zfs/zfs_vnops_os.c
- sys/contrib/openzfs/module/os/linux/zfs/zpl_export.c
- sys/contrib/openzfs/module/os/linux/zfs/zpl_file.c
- sys/contrib/openzfs/module/os/linux/zfs/zpl_inode.c
- sys/contrib/openzfs/module/os/linux/zfs/zpl_super.c
- sys/contrib/openzfs/module/zcommon/simd_stat.c
- sys/contrib/openzfs/module/zcommon/zfs_prop.c
- sys/contrib/openzfs/module/zcommon/zpool_prop.c
- sys/contrib/openzfs/module/zfs/arc.c
- sys/contrib/openzfs/module/zfs/btree.c
- sys/contrib/openzfs/module/zfs/dataset_kstats.c
- sys/contrib/openzfs/module/zfs/dbuf.c
- sys/contrib/openzfs/module/zfs/ddt.c
- sys/contrib/openzfs/module/zfs/ddt_log.c
- sys/contrib/openzfs/module/zfs/ddt_stats.c
- sys/contrib/openzfs/module/zfs/dmu.c
- sys/contrib/openzfs/module/zfs/dmu_objset.c
- sys/contrib/openzfs/module/zfs/dmu_recv.c
- sys/contrib/openzfs/module/zfs/dmu_tx.c
- sys/contrib/openzfs/module/zfs/dsl_dataset.c
- sys/contrib/openzfs/module/zfs/metaslab.c
- sys/contrib/openzfs/module/zfs/mmp.c
- sys/contrib/openzfs/module/zfs/range_tree.c
- sys/contrib/openzfs/module/zfs/sa.c
- sys/contrib/openzfs/module/zfs/spa.c
- sys/contrib/openzfs/module/zfs/spa_log_spacemap.c
- sys/contrib/openzfs/module/zfs/spa_misc.c
- sys/contrib/openzfs/module/unicode/u8_textprep.c → sys/contrib/openzfs/module/zfs/u8_textprep.c
- sys/contrib/openzfs/module/zfs/vdev.c
- sys/contrib/openzfs/module/zfs/vdev_file.c
- sys/contrib/openzfs/module/zfs/vdev_label.c
- sys/contrib/openzfs/module/zfs/vdev_queue.c
- sys/contrib/openzfs/module/zfs/vdev_rebuild.c
- sys/contrib/openzfs/module/zfs/zcp_get.c
- sys/contrib/openzfs/module/zfs/zfs_ioctl.c
- sys/contrib/openzfs/module/zfs/zfs_vnops.c
- sys/contrib/openzfs/module/zfs/zio_compress.c
- sys/contrib/openzfs/module/zstd/README.md
- sys/contrib/openzfs/module/zstd/include/zstd_compat_wrapper.h
- + sys/contrib/openzfs/module/zstd/lib/common/allocations.h
- + sys/contrib/openzfs/module/zstd/lib/common/bits.h
- sys/contrib/openzfs/module/zstd/lib/common/bitstream.h
- sys/contrib/openzfs/module/zstd/lib/common/compiler.h
- sys/contrib/openzfs/module/zstd/lib/common/cpu.h
- sys/contrib/openzfs/module/zstd/lib/common/debug.h
- sys/contrib/openzfs/module/zstd/lib/common/entropy_common.c
- sys/contrib/openzfs/module/zstd/lib/common/error_private.c
- sys/contrib/openzfs/module/zstd/lib/common/error_private.h
- sys/contrib/openzfs/module/zstd/lib/common/fse.h
- sys/contrib/openzfs/module/zstd/lib/common/fse_decompress.c
- sys/contrib/openzfs/module/zstd/lib/common/huf.h
- sys/contrib/openzfs/module/zstd/lib/common/mem.h
- sys/contrib/openzfs/module/zstd/lib/common/pool.c
- sys/contrib/openzfs/module/zstd/lib/common/pool.h
- + sys/contrib/openzfs/module/zstd/lib/common/portability_macros.h
- − sys/contrib/openzfs/module/zstd/lib/common/xxhash.c
- sys/contrib/openzfs/module/zstd/lib/common/xxhash.h
- sys/contrib/openzfs/module/zstd/lib/common/zstd_common.c
- + sys/contrib/openzfs/module/zstd/lib/common/zstd_deps.h
- sys/contrib/openzfs/module/zstd/lib/common/zstd_internal.h
- + sys/contrib/openzfs/module/zstd/lib/common/zstd_trace.h
- + sys/contrib/openzfs/module/zstd/lib/compress/clevels.h
- sys/contrib/openzfs/module/zstd/lib/compress/fse_compress.c
- sys/contrib/openzfs/module/zstd/lib/compress/hist.c
- sys/contrib/openzfs/module/zstd/lib/compress/hist.h
- sys/contrib/openzfs/module/zstd/lib/compress/huf_compress.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress_internal.h
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress_literals.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress_literals.h
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress_sequences.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress_sequences.h
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress_superblock.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_compress_superblock.h
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_cwksp.h
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_double_fast.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_double_fast.h
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_fast.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_fast.h
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_lazy.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_lazy.h
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_ldm.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_ldm.h
- + sys/contrib/openzfs/module/zstd/lib/compress/zstd_ldm_geartab.h
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_opt.c
- sys/contrib/openzfs/module/zstd/lib/compress/zstd_opt.h
- + sys/contrib/openzfs/module/zstd/lib/compress/zstd_preSplit.c
- + sys/contrib/openzfs/module/zstd/lib/compress/zstd_preSplit.h
- sys/contrib/openzfs/module/zstd/lib/decompress/huf_decompress.c
- + sys/contrib/openzfs/module/zstd/lib/decompress/huf_decompress_amd64.S
- sys/contrib/openzfs/module/zstd/lib/decompress/zstd_ddict.c
- sys/contrib/openzfs/module/zstd/lib/decompress/zstd_ddict.h
- sys/contrib/openzfs/module/zstd/lib/decompress/zstd_decompress.c
- sys/contrib/openzfs/module/zstd/lib/decompress/zstd_decompress_block.c
- sys/contrib/openzfs/module/zstd/lib/decompress/zstd_decompress_block.h
- sys/contrib/openzfs/module/zstd/lib/decompress/zstd_decompress_internal.h
- sys/contrib/openzfs/module/zstd/lib/zstd.h
- sys/contrib/openzfs/module/zstd/lib/common/zstd_errors.h → sys/contrib/openzfs/module/zstd/lib/zstd_errors.h
- sys/contrib/openzfs/module/zstd/zfs_zstd.c
- sys/contrib/openzfs/module/zstd/zstd-in.c
- sys/contrib/openzfs/rpm/Makefile.am
- sys/contrib/openzfs/scripts/Makefile.am
- sys/contrib/openzfs/scripts/objtool-wrapper.in
- sys/contrib/openzfs/scripts/spdxcheck.pl
- sys/contrib/openzfs/scripts/zfs-tests.sh
- sys/contrib/openzfs/tests/Makefile.am
- sys/contrib/openzfs/tests/runfiles/common.run
- sys/contrib/openzfs/tests/runfiles/linux.run
- sys/contrib/openzfs/tests/runfiles/sanity.run
- sys/contrib/openzfs/tests/test-runner/bin/zts-report.py.in
- sys/contrib/openzfs/tests/zfs-tests/Makefile.am
- sys/contrib/openzfs/tests/zfs-tests/callbacks/zfs_dbgmsg.ksh
- sys/contrib/openzfs/tests/zfs-tests/callbacks/zfs_mmp.ksh
- sys/contrib/openzfs/tests/zfs-tests/cmd/.gitignore
- sys/contrib/openzfs/tests/zfs-tests/cmd/Makefile.am
- sys/contrib/openzfs/tests/zfs-tests/cmd/checksum/sha2_test.c
- sys/contrib/openzfs/tests/zfs-tests/cmd/mmap_seek.c
- + sys/contrib/openzfs/tests/zfs-tests/cmd/setlease.c
- sys/contrib/openzfs/tests/zfs-tests/include/commands.cfg
- sys/contrib/openzfs/tests/zfs-tests/include/libtest.shlib
- sys/contrib/openzfs/tests/zfs-tests/include/tunables.cfg
- sys/contrib/openzfs/tests/zfs-tests/tests/Makefile.am
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases_limited.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_data.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_embedded.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_all.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_checksum.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_compress.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_copies.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_recordsize.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_prop_sync.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases_limited.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_data.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_embedded.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning.kshlib
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/block_cloning/block_cloning_after_device_removal.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/cache/cache_012_pos.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_clone/zfs_clone_nomount.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_rewrite/zfs_rewrite_skip_clone.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zfs_rewrite/zfs_rewrite_skip_snapshot.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_create/zpool_create_tempname.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_get/vdev_get.cfg
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_get/zpool_get.cfg
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_get/zpool_get_parsable.cfg
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_root/zpool_set/vdev_set_scheduler.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/cli_user/zfs_send_delegation_user/zfs_send_usertest.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/events/zed_synchronous_zedlet.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/l2arc/l2arc.cfg
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/l2arc/l2arc_dwpd_ratelimit_pos.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/l2arc/l2arc_dwpd_reimport_pos.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/l2arc/l2arc_multidev_scaling_pos.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/l2arc/l2arc_multidev_throughput_pos.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/lease/cleanup.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/lease/lease_setlease.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/lease/setup.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp.cfg
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp.kshlib
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_active_import.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_concurrent_import.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_exported_import.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_hostid.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_inactive_import.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_on_off.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_on_thread.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_on_uberblocks.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_on_zdb.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_reset_interval.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_write_distribution.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/mmp_write_uberblocks.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mmp/multihost_history.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/mount/mount_loopback.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/pam/pam_basic.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/pam/pam_change_unmounted.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/pam/pam_nounmount.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/pam/setup.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/pam/utilities.kshlib.in
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/rsend/send_large_blocks_incremental.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/rsend/send_large_blocks_initial.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/rsend/send_large_microzap_incremental.ksh
- + sys/contrib/openzfs/tests/zfs-tests/tests/functional/rsend/send_large_microzap_transitive.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/snapshot/snapshot_018_pos.ksh
- sys/contrib/openzfs/tests/zfs-tests/tests/functional/trim/trim_l2arc.ksh
- sys/contrib/openzfs/udev/Makefile.am
- sys/fs/tarfs/tarfs_io.c
- sys/modules/dtrace/fasttrap/Makefile
- sys/modules/zfs/Makefile
- sys/modules/zfs/zfs_config.h
- sys/modules/zfs/zfs_gitrev.h
- tests/sys/fs/fusefs/read.cc


The diff was not included because it is too large.


View it on GitLab: https://git.hardenedbsd.org/hardenedbsd/HardenedBSD/-/compare/f91464171d615b7e7720ac9ed67e2e86392d1b41...251907ca480eff7f6177f52959b71a6cfce45579

--
View it on GitLab: https://git.hardenedbsd.org/hardenedbsd/HardenedBSD/-/compare/f91464171d615b7e7720ac9ed67e2e86392d1b41...251907ca480eff7f6177f52959b71a6cfce45579
You're receiving this email because of your account on git.hardenedbsd.org.


Reply all
Reply to author
Forward
0 new messages