Commit Graph

308225 Commits

Author SHA1 Message Date
Bjoern A. Zeeb 187d8a3ce5 ath11k: update Atheros/QCA's ath11k driver
This version is based on
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
24d479d26b25bce5faea3ddd9fa8f3a6c3129ea7 ( tag: v6.19-rc6 ).

Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2026-03-19 23:30:37 +00:00
Martin Matuska 80aae8a3f8 zfs: merge openzfs/zfs@3ee08abd2
Notable upstream pull request merges:
 #17000 -multiple cmd/zfs: support creating parents with canmount=no
 #17926 b481a8bbb Make zpool status dedup table support raw bytes -p output
 #18238 -multiple Report space metrics per allocation class
 #18240 5dad9459d Add --no-preserve-encryption flag
 #18257 1eace5906 libzfs: use mount_setattr for selective remount including
                  legacy mounts
 #18259 1e2c94a04 More consistent use of TREE_* macros in AVL comparators
 #18262 c58b8b7dc Fix check for .cfi_negate_ra_state on aarch64
 #18264 f109c7bb9 Add the --file-layout (-f) option to zdb(8)
 #18268 304de7f19 libzfs: handle EDOM error in zpool_create
 #18275 753f1e1e2 zstream: add a drop_record subcommand
 #18276 0f90a797d Fix vdev_rebuild_range() tx commit
 #18277 1e1d64d66 Fix log vdev removal issues
 #18278 06b0abfe6 Fix the send --exclude option to work with encryption
 #18281 e73ada771 libzpool: lift zfs_file ops out to separate source file
 #18284 d97945776 zstream: consolidate shared code
 #18285 -multiple Separate SIMD compile checks for userspace and kernel
 #18288 c5905b2cb Implement lzc_send_progress
 #18289 -multiple L2ARC: Add depth cap and write budget fairness for
                  persistent markers
 #18290 d45c8d648 FreeBSD: Improve dmesg kernel message prefix
 #18294 b403040c4 draid: fix data corruption after disk clear
 #18296 -multiple libzfs: mnttab cleanup
 #18300 d35951b18 zpool clear: remove undocumented rewind flags
 #18301 ae7fcd5f9 fix libzfs diff mem leak in an error path
 #18303 65165df12 zilstat: add man page
 #18314 7f65e04ab libzfs: scrub: only include start and end nv pairs if
                  needed for scrub
 #18315 -multiple Sync ZVOLs block cloning conditions with file systems
 #18330 f80338fac zarcsummary: add man page
 #18337 f259a47c7 zpool-iostat.8: clarify first report shows per-second
                  averages

Obtained from:	OpenZFS
OpenZFS commit:	3ee08abd2f
2026-03-19 21:25:34 +01:00
Pouria Mousavizadeh Tehrani 56dddebc55 ip6_input: Remove unused check for IPv4-compatible IPv6
IPv4-compatible IPv6 addresses are deprecated by RFC 4291.
No functional change intended.

Reviewed by: glebius, emaste
Differential Revision: https://reviews.freebsd.org/D55387
2026-03-19 21:47:53 +03:30
Pouria Mousavizadeh Tehrani 17920f8335 bridge(4): Remove epoch_enter during destruction
bridge doesn't require to enter epoch during destruction.

Reviewed by: zlei, glebius
Differential Revision: https://reviews.freebsd.org/D55935
2026-03-19 21:26:45 +03:30
Pouria Mousavizadeh Tehrani 1c1b494264 ecn.9: Replace non-ASCII characters
Reported by:	maxim
Fixes:		ba4298b055 ("ecn.9: Add ecn(9) manual")
2026-03-19 20:54:49 +03:30
Jose Luis Duran 894992e786 nanobsd: embedded: Time stamp the code image
While there is a function nano_makefs() that already takes care of this
issue, we are not yet ready to consume it.

Just add the time stamp and FFS options to makefs.  This is done
primarily to use UFS2 (UFS version 2).  If the user needs further
customization, the variable NANO_MAKEFS can be overridden.  Timestamping
takes care of making the images bit-for-bit identical.

Reviewed by:	imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D54980
2026-03-19 17:14:36 +00:00
Jose Luis Duran 5902c1834d nanobsd: Minor cleanup
No functional change intended.

Reviewed by:	imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D54979
2026-03-19 17:14:24 +00:00
Jose Luis Duran 60f8d36f7e nanobsd: embedded: Fix more regressions from last cleanup
Commit c99bb5747f changed "()" grouping into "{}", but in these cases
we chdir and depended on the subshell not changing the directory for the
caller.  Restore the old behavior.  While things appear to work without
this change, the previous code was intentionally structured this way.

Reviewed by:	imp
Fixes:		c99bb5747f ("nanobsd: minor formatting cleanup")
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D54978
2026-03-19 17:13:59 +00:00
Jose Luis Duran 21970f2780 nanobsd: embedded: Remove stray comment
Remove an outdated comment about NanoBSD not being able to remove the
firstboot sentinel file.

It was fixed in cb51e2bc3d ("rc: Allow the removal of
firstboot_sentinel on read-only file systems").

Reviewed by:	imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D54977
2026-03-19 17:13:29 +00:00
Jose Luis Duran 5de9a54c76 nanobsd: embedded: Remove mtools dependency
Rely on makefs -t msdos to create the MS-DOS partition and remove the
dependency on filesystems/mtools.

Note that NANO_SLICE_FAT_SIZEs defined in sectors (ending with an "s")
are no longer supported, as a workaround the letter "b" (blocks) may be
used instead.

Reviewed by:	imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D54976
2026-03-19 17:12:51 +00:00
Jose Luis Duran 68f5e5b124 nanobsd: embedded: Calculate FAT type and scheme
Determine the FAT (MS-DOS) type (FAT32, FAT16, or FAT12) and partition
scheme (fat32lba or fat16b) based on partition size.

Accept any (NetBSD) strsuftoll(3)-compatible string, as the value will
be fed to makefs(8) "-s" in a future commit.

NANO_SLICE_FAT_SIZEs defined in sectors (ending with an "s") will not be
supported.  As a workaround, the letter "b" (blocks) may be used.

Reviewed by:	imp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D54975
2026-03-19 17:12:26 +00:00
Pouria Mousavizadeh Tehrani 15ebee7c2e ndp: Accept multiple queued ND for non-GRAND NAs
Multiple delayed NAs on the same ifa can occur simultaneously.
Therefore:
* Differentiate between GRAND and solicited replies.
* Cancel previous pending GRAND NA for same ifa.
* Reuse ndq memory for GRAND.
* Free non-GRAND replies immediately.
* Don't limit non-GRAND NAs.

Reviewed by: glebius
Differential Revision: https://reviews.freebsd.org/D55905
2026-03-19 19:50:06 +03:30
Ed Maste d478715a72 llvm: Link cross-tools with static libllvm.a
We generally use TOOLS_PREFIX being set to indicate that we are building
in the cross-build tools stage.  This check was missing for llvm.prog.mk
consumers other than *tblgen, which have not previously been built as
cross tools.

Reviewed by:	dim
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D55930
2026-03-19 09:10:24 -04:00
Pouria Mousavizadeh Tehrani ba4298b055 ecn.9: Add ecn(9) manual
Add ecn manual for ip_ecn tunneling functions.

Reviewed by: pauamma_gundo.com, tuexen
Differential Revision: https://reviews.freebsd.org/D53517
2026-03-19 13:55:53 +03:30
Pouria Mousavizadeh Tehrani 32a462ba9c ecn(9): Update ecn tunneling functions to RFC 6040
Update ECN tunneling functions from obsolete RFC 3168 to
newer RFC 6040.
Also, add ECN_COMPLETE to support dangerous packet reporting
without causing extra costs to existing caller functions.
Finally, return values are specified as macro to reduce
confusion, considering extra return values for ECN_WARN
and ECN_ALARM were added.

Reviewed By: glebius, tuexen
Differential Revision: https://reviews.freebsd.org/D53516
2026-03-19 13:48:34 +03:30
Dag-Erling Smørgrav 1aecb32021 realpath: Improve manual page
* Try to make the RETURN VALUES section flow better.

* Add basename(3), dirname(3), free(3) to the SEE ALSO section.

* Drop the CAVEATS section, which was obsolete the moment realpath(3)
  was added to the Single Unix Specification in 1994.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:	kevans
Differential Revision:	https://reviews.freebsd.org/D55928
2026-03-19 02:26:34 +01:00
Dag-Erling Smørgrav 99d295e471 realpath: Improve prev_len logic
* Save prev_len after having checked for and appended a trailing slash,
  not before.  This requires us to back up if we end up returning a
  partial result, but previously we would sometimes return a partial
  result with a trailing slash and sometimes without.

* Replace strlcat() with a faster strlcpy() since we know exactly how
  far into the buffer we are.

MFC after:	1 week
Sponsored by:	Klara, Inc.
Reviewed by:	kevans
Differential Revision:	https://reviews.freebsd.org/D55914
2026-03-19 02:26:34 +01:00
Kirk McKusick dad6e6fc1e Provide more precise error explanations for mmap(2) EINVAL errors.
Reviewed by:  kib
Differential Revision: https://reviews.freebsd.org/D55888
MFC-after:    1 week
Sponsored by: Netflix
2026-03-18 17:52:10 -07:00
Kirk McKusick 51446d33c6 Delete error-check code that can never happen.
Near the top of kern_mmap() that implements the mmap(2) system call,
it sets

	prot = PROT_EXTRACT(prot);

with

So prot can only be the three PROT_ flags.

The following test of the user's mmap(2) parameters (near line 275
in vm/vm_mmap.c):

	if (prot != PROT_NONE &&
            (prot & ~(PROT_READ | PROT_WRITE | PROT_EXEC)) != 0) {
		return (EXTERROR(EINVAL, "invalid prot %#jx", prot));
	}

can never fail. This commit deletes it.

No functional change intended.

Reviewed by:  kib
MFC-after:    1 week
Sponsored by: Netflix
2026-03-18 17:45:23 -07:00
Navdeep Parhar 8f41ee95f9 cxgbe(4): decode the T7 MC interrupt correctly
The layout for the main INT_CAUSE is a bit different for T7.

MFC after:	1 week
Sponsored by:	Chelsio Communications
2026-03-18 15:22:57 -07:00
Navdeep Parhar 6317122254 cxgbe(4): adjustments to the output of the slow interrupt handler
- Display an appropriate alert character instead of a question mark for
  unknown bits.
- Display all fatal bits for a register and not just the ones that are
  currently set.

MFC after:	1 week
Sponsored by:	Chelsio Communications
2026-03-18 14:56:37 -07:00
Gleb Smirnoff 85cf26c6ee in_var.h: fixup comments that mention use by ifmcstat(8) 2026-03-18 14:00:43 -07:00
Gleb Smirnoff ad0e698e64 ifmcstat: remove libkvm(3) code
It has been broken and disabled for over 10 years.  Remove mentions of the
kvm(3) from the manual page.
2026-03-18 14:00:43 -07:00
Rob Norris 3ee08abd2f linux/super: flatten zpl_fill_super into zpl_get_tree
Target of opportunity; with no other callers, there's no need for it to
be a static function.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@truenas.com>
Closes #18339
2026-03-18 12:00:38 -07:00
Rob Norris 96a0b20201 linux/super: flatten zpl_mount_impl into zpl_get_tree
Target of opportunity; with no other callers, there's no need for it to
be a static function.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@truenas.com>
Closes #18339
2026-03-18 12:00:33 -07:00
Rob Norris 5ebb9ff914 linux/super: flatten mount/remount into get_tree/reconfigure
With the old API gone, there's no need to massage new-style calls into
its shape and call another function; we can just make those handlers
work directly.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@truenas.com>
Closes #18339
2026-03-18 12:00:29 -07:00
Rob Norris f828aeb62a linux/super: remove support for old mount API
Removing the HAVE_FS_CONTEXT gates and anything that would be used if it
wasn't set.

Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@truenas.com>
Closes #18339
2026-03-18 12:00:24 -07:00
Rob Norris 188888ac37 config: refuse to build without fs_context
Sponsored-by: TrueNAS
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <rob.norris@truenas.com>
Closes #18339
2026-03-18 11:59:57 -07:00
Gleb Smirnoff cc6672235c tests/netinet/raw: fix ssize_t printf(3) format
Fixes:	c1481c9f4a
2026-03-18 11:51:42 -07:00
Christos Longros f259a47c74 zpool-iostat.8: clarify first report shows per-second averages
The first report printed by zpool iostat shows average per-second
values since boot, not cumulative totals. Clarify this in the man
page to avoid user confusion.

Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Christos Longros <chris.longros@gmail.com>
Closes #18337
2026-03-18 10:48:04 -07:00
Gleb Smirnoff c1481c9f4a tests/netinet: provide test for raw_ip.c:rip_input()
The test creates differently bound SOCK_RAW sockets and sends different
probe packets.  There is expected results matrix that every probe is
checked against.
2026-03-18 10:38:42 -07:00
Rob Norris d8c08a1cea Linux 7.0: also set setlease handler on directories (#18331)
It turns out the kernel can also take directory leases, most notably in
the NFS server. Without a setlease handler on the directory file ops,
attempts to open a directory over NFS can fail with EINVAL.

Adding a directory setlease handler was missed in 168023b603. This fixes
that, allowing directories to be properly accessed over NFS.

Sponsored-by: TrueNAS
Reported-by: Satadru Pramanik <satadru@gmail.com>

Signed-off-by: Rob Norris <rob.norris@truenas.com>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
2026-03-17 15:28:30 -07:00
John Baldwin 2353fa1aca LinuxKPI: Fix simple_read_from_buffer for zero-size and off-the-end reads
I noticed that the buf_size < 0 check can never be true (it's a
size_t) and decided to check for this condition by an alternate
expression, and I also noticed that a read_size of 0 would incorrectly
return -EFAULT.  Instead, return success for both of these cases as
reading beyond the EOF of a normal file also returns EOF, not EINVAL.

Reviewed by:	bz
Sponsored by:	AFRL, DARPA
Differential Revision:	https://reviews.freebsd.org/D55845
2026-03-17 15:49:01 -04:00
John Baldwin 2cf15144da lindebugfs: Pass user buffer pointers to the read/write file operations
The Linux file_operations API expects the read and write operations
to take a single user buffer pointer (along with the length and the
file offset as an in/out parameter).

However, the debugfs_fill function was violating this part of the
contract as it was passing down kernel pointers instead.  An earlier
commit (5668c22a13) hacked around this
by modifying simple_read_from_buffer() to treat its user pointer
argument as a kernel pointer instead.  However, other commits keep
tripping over this same API mismatch
(e.g. 78e25e65bf passes a kernel pointer
to copy_from_user in fops_str_write).

Instead, change debugfs_fill to use the "raw" pseudofs mode where the
uio is passed down to directly to the fill callback rather than an
sbuf.  debufs_fill now iterates over the iovec in the uio similar to
the implementation of uiomove invoking the read or write operation on
each user pointer.

This also fixes a tiny bug where the initial file offset from
uio_offset was ignored.  Instead, the operations were always invoked
with a file offset of 0.

As part of this, revert the the changes to simple_read_from_buffer()
from commit 5668c22a13.

Also as part of this, the simple_attr_read/write methods and seq_read
now also need to accept and handle user pointers (also matching the
API in Linux).

For simple_attr_write*(), copy the user buffer into a kernel buffer
before parsing.  Also, do not permit writes at an offset as it's
unclear what the semantics for those would even be (perhaps you would
write out the formatted value into a buffer first and then allow the
copy_from_user to overwrite/extend that buffer and then re-parse the
integer value?).  The old handling of *ppos for writes was definitely
wrong before and only worked for an offset of 0 anyway.

Reviewed by:	bz
Sponsored by:	AFRL, DARPA
Differential Revision:	https://reviews.freebsd.org/D55833
2026-03-17 15:45:34 -04:00
Andrew Turner 14e97448fc arm64: Have a common call to userret
Rather than each exception calling userret use a common copy. As
syscallret already calls userret we need to skip it in that case.

Reviewed by:	kib
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D55250
2026-03-17 17:10:40 +00:00
John Baldwin 58d74d7b0c LinuxKPI: Use simple_read_from_buffer in simple_attr_read and seq_read
Reviewed by:	bz
Sponsored by:	AFRL, DARPA
Differential Revision:	https://reviews.freebsd.org/D55879
2026-03-17 12:05:30 -04:00
John Baldwin c181c8f5ca LinuxKPI: Clear the sbuf at the start of each call to seq_read
Each invocation of seq_read invokes the seq_file.show callback which
writes into the sbuf.  Then it invokes sbuf_finish before copying the
data into the caller's buffer.  Without this, a second call to
seq_read on the same file would try to append data to a finished sbuf.

Reviewed by:	bz
Sponsored by:	AFRL, DARPA
2026-03-17 12:05:17 -04:00
Sarah Walker 1d13d938fe virtio: Ensure power-of-two alignment for indirect queue
Some platforms enforce power-of-two alignment for bus_dma tags. Rounding up
the natural size may result in over-alignment, but should be safe.

PR:		293770
Reviewed by:	andrew
Fixes:		c499ad6f99 ("virtio: Use bus_dma for ring and indirect buffer allocations")
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D55843
2026-03-17 10:56:27 +00:00
Pouria Mousavizadeh Tehrani 7b9bb32d1c ndp: don't send unsolicited NA for multicast address
During link-layer address change event, don't send unsolicited
NA for multicast addresses.

Reviewed by: adrian, zlei
Differential Revision: https://reviews.freebsd.org/D55885
2026-03-17 12:15:35 +03:30
Pouria Mousavizadeh Tehrani a8b9a05d3c if_bridge(4): don't sleep under epoch(9) in destruction
bridge tries to run callout_drain(9) twice under epoch
during destruction.
once for bridge_timer, which is not required to be under epoch.
second time for the BSTP callout, which is already disabled
earlier inside bridge_delete_member.

Reviewed by: glebius, zlei
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D55876
2026-03-17 11:41:29 +03:30
Rick Macklem 6580d04086 nfs_nfsdserv.c: Fix handling of archive flag for mkdir
An NFSv4.1/4.2 client can set/clear the archive, hidden
and system flags when creating non-regular files, such
as directories.

Without this patch, the setting of va_flags causes an
EPERM failure, since they are specified for VOP_MKDIR(),
VOP_MKNOD() and VOP_SYMLINK().

This patch sets va_flags == VNOVAL for the above VOP_xxx()
calls and then sets/clears the flags after creation,
which fixes the problem.

This bug only affects the Windows NFSv4.1/4.2 client.

PR:	293691
Tested by:	Dan Shelton <dan.f.shelton@gmail.com>
MFC after:	2 weeks
2026-03-16 16:22:37 -07:00
Mitchell Horne e39d3a6b32 pmc.h: bump PMC_VERSION_MINOR
Bump for the addition of PMC_OP_GETCAPS and the recently added Intel
CPUs.

Sponsored by:	The FreeBSD Foundation
2026-03-16 20:39:31 -03:00
Ali Mashtizadeh 209d9fbe50 pmcstat: Implement PMC_CAP_SYSWIDE
Implement the PMC_CAP_SYSWIDE capability flag in the same manner as the
PMC_CAP_DOMWIDE flag.  This flag was previously introduced along side
the domain wide flag, but is yet to be used anywhere.

Reviewed by:	mhorne
Sponsored by:	Netflix
Pull Request:	https://github.com/freebsd/freebsd-src/pull/2075
2026-03-16 20:39:15 -03:00
Ali Mashtizadeh 44a983d249 libpmc: Query hwpmc for caps
This change allows for fine-grained capabilities per counter index. This
is particularly useful for AMD where subclasses are not exposed to the
general PMC code, but other architectures also have asymmetric behaviors
when it comes to specific counter indices.

A new PMC_OP_GETCAPS op is added to the hwpmc(4) ioctl interface.

Reviewed by:	mhorne
Sponsored by:	Netflix
Pull Request:	https://github.com/freebsd/freebsd-src/pull/2058
2026-03-16 20:31:15 -03:00
Mitchell Horne f0e0c4c529 jevents: include file path in whitelist error message
A small enhancement.

Reviewed by:	Ali Mashtizadeh <ali@mashtizadeh.com>
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D55830
2026-03-16 20:25:46 -03:00
isoux 83d7a4966f vm_fault: expand KASSERT message in vm_fault_populate_cleanup
Include index values and object pointer in the diagnostic
to improve debugging of pindex mismatches.

No functional change.

Signed-off-by: Isa Isoux <isa@isoux.org>
Reviewed by: kib, pouria
Pull Request: https://github.com/freebsd/freebsd-src/pull/2038
2026-03-17 01:30:44 +03:30
Ameer Hamza 4655bdd8ab ZTS: Fix L2ARC test reliability
Disable depth cap (L2ARC_EXT_HEADROOM_PCT=0) in DWPD and multidev tests
that rely on predictable marker advancement during fill and measurement.

Rework multidev_throughput to verify sustained throughput across three
consecutive windows instead of asserting an absolute rate. Use larger
cache devices (8GB) to avoid frequent global marker resets
(smallest_capacity/8), fill ARC before attaching caches to provide a
stable evictable buffer pool, and lower write_max to 8MB/s to avoid
exhausting data within the measurement period.

Use destroy_pool (log_must_busy) instead of log_must zpool destroy
to handle transient EBUSY during teardown.

Remove l2arc_multidev_throughput_pos from the expected-fail list in
zts-report.py.in.

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>
Closes #18321
2026-03-16 14:58:25 -07:00
Dag-Erling Smørgrav aa15df4597 queue.h: Reorder STAILQ_INSERT_TAIL
The current implementation briefly violates the tail invariant.  This
is not usually an issue, but if an insert is in flight when a panic
occurs, we may then trip the invariant while dumping core.

MFC after:	1 week
Sponsored by:	Klara, Inc.
Sponsored by:	NetApp, Inc.
Reviewed by:	obiwac, olce, jhb
Differential Revision:	https://reviews.freebsd.org/D55819
2026-03-16 21:36:56 +01:00
Christos Longros f80338facc zarcsummary: add man page
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Christos Longros <chris.longros@gmail.com>
Closes #18330
2026-03-16 11:08:05 -07:00
Christos Longros f9d26b88b7 zilstat: add AUTHORS section to man page
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>
Signed-off-by: Christos Longros <chris.longros@gmail.com>
Closes #18329
2026-03-16 11:07:27 -07:00