<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib, branch vendor/openzfs/master</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=vendor%2Fopenzfs%2Fmaster</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=vendor%2Fopenzfs%2Fmaster'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2026-03-13T16:53:56Z</updated>
<entry>
<title>Make zpool status dedup table support raw bytes -p output</title>
<updated>2026-03-13T16:53:56Z</updated>
<author>
<name>Aditya Gollamudi</name>
<email>adigollamudi@gmail.com</email>
</author>
<published>2026-03-13T16:53:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b481a8bbbf32c26b014518d7c72979c557205918'/>
<id>urn:sha1:b481a8bbbf32c26b014518d7c72979c557205918</id>
<content type='text'>
Check if -p flag is enabled, and if so print dedup table with raw
bytes. Restructure the logic in zutil_pool to check if -p flag is
enabled before printing either the bytes or raw numbers.

Calls to print the data for DDT now all use
zfs_nicenum_format(). Increased DDT histogram column buffers
to 32 bytes to prevent truncation when -p is enabled.

Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Reviewed-by: Alexander Motin &lt;alexander.motin@TrueNAS.com&gt;
Signed-off-by: Adi Gollamudi &lt;adigollamudi@gmail.com&gt;
Closes #11626
Closes #17926</content>
</entry>
<entry>
<title>Fix the send --exclude option to work with encryption</title>
<updated>2026-03-12T22:10:28Z</updated>
<author>
<name>Sean Eric Fagan</name>
<email>kithrup@users.noreply.github.com</email>
</author>
<published>2026-03-12T22:10:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=06b0abfe6209d3ba31920e9b98f130757ccb19a6'/>
<id>urn:sha1:06b0abfe6209d3ba31920e9b98f130757ccb19a6</id>
<content type='text'>
When using --exclude, filtering needs to take place in two places:
in zfs_main.c via the callback previously added to support the
options, and in libzfs_sendrecv.c because it generates the nvlist
during a first pass, and that results in it complaining if the
excluded dataset is not available for sending. (eg, excluding an
encrypted dataset so you don't have to use --raw wouldn't work,
because the first pass would look at the dataset and decide you
couldn't use it.) Add send --exclude tests, including one that tests
excluding an encrypted hierarchy.

Reviewed-by: Allan Jude &lt;allan@klarasystems.com&gt;
Reviewed-by: Alexander Motin &lt;alexander.motin@TrueNAS.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Sean Eric Fagan &lt;sef@kithrup.ie&gt;
Closes #18278</content>
</entry>
<entry>
<title>libzfs: scrub: only include start and end nv pairs if needed for scrub</title>
<updated>2026-03-12T22:06:23Z</updated>
<author>
<name>siv0</name>
<email>github@nomore.at</email>
</author>
<published>2026-03-12T22:06:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7f65e04abd23634803b6298b3e9737941195e54a'/>
<id>urn:sha1:7f65e04abd23634803b6298b3e9737941195e54a</id>
<content type='text'>
This patch addresses running `zpool scrub &lt;pool&gt;` with ZFS 2.4 userspace
while the loaded kernel module is still 2.3, failing with:
```
cannot scrub &lt;pool&gt;: the loaded zfs module does not support an option
for this operation. A reboot may be required to enable this option.
```

Checking for the source of the message via `strace` showed the scrub
ioctl failing and setting errno to ZFS_ERR_IOC_ARG_UNAVAIL[0]. With
that and the comments in `module/zfs/zfs_ioctl.c`[1] commit: 894edd084
seemed like a likely cause for the backward incompatibility.

The corresponding kernelspace code in `module/zfs/zfs_ioctl.c` defaults
to a setting of 0 if either parameter is not set, so not providing the
nvpairs in case both are 0 should not make a semantic difference.

Tested by:
* loading zfs.ko in version 2.3.6
* running `zpool scrub testpool` with zpool from master (error occurs)
* running `zpool scrub testpool` with this patch applied (scrub is
  started)

This should help users who are still stuck on an older kernel module,
while their distribution ships newer ZFS userspace.

This was observed in the Proxmox community forum:
https://forum.proxmox.com/threads/.180467/

[0] https://github.com/openzfs/zfs/blob/d35951b18d6e12afeb0d5b0539ff2467ab4bfbcf/include/sys/fs/zfs.h#L1762
[1] https://github.com/openzfs/zfs/blob/d35951b18d6e12afeb0d5b0539ff2467ab4bfbcf/module/zfs/zfs_ioctl.c#L7799
Fixes: 894edd084 ("Add TXG timestamp database")

Reviewed-by: Alexander Motin &lt;alexander.motin@TrueNAS.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Stoiko Ivanov &lt;s.ivanov@proxmox.com&gt;
Co-authored-by: Stoiko Ivanov &lt;s.ivanov@proxmox.com&gt;
Closes #18314</content>
</entry>
<entry>
<title>zpool clear: remove undocumented rewind flags</title>
<updated>2026-03-11T22:15:45Z</updated>
<author>
<name>Christos Longros</name>
<email>98426896+chrislongros@users.noreply.github.com</email>
</author>
<published>2026-03-11T22:15:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d35951b18d6e12afeb0d5b0539ff2467ab4bfbcf'/>
<id>urn:sha1:d35951b18d6e12afeb0d5b0539ff2467ab4bfbcf</id>
<content type='text'>
Remove the -F, -n, and -X flags from zpool clear.  These flags were
inherited from OpenSolaris but are not applicable in this context.
Unlike zpool import, where the pool is not yet loaded and a specific
TXG can be selected, zpool clear operates on an already imported pool
whose in-memory state is ahead of what is on disk.  Rewinding
transactions would require force-exporting the pool first.

The rewind policy passed to zpool_clear() is now always
ZPOOL_NO_REWIND.

Tested on FreeBSD 16.0-CURRENT (amd64).  Verified that -F, -n, and
-X are properly rejected as invalid options and that the usage output
reflects the change.

Reviewed-by: Alexander Motin &lt;alexander.motin@TrueNAS.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Christos Longros &lt;chris.longros@gmail.com&gt;
Closes #13825
Closes #18300</content>
</entry>
<entry>
<title>abi: updates for mnttab cleanup</title>
<updated>2026-03-10T20:07:07Z</updated>
<author>
<name>Rob Norris</name>
<email>rob.norris@truenas.com</email>
</author>
<published>2026-03-09T04:46:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=62fa8bcb3c61d725a3e9aeca664098f3fe0bea51'/>
<id>urn:sha1:62fa8bcb3c61d725a3e9aeca664098f3fe0bea51</id>
<content type='text'>
Sponsored-by: TrueNAS
Reviewed-by: Ameer Hamza &lt;ahamza@ixsystems.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Rob Norris &lt;rob.norris@truenas.com&gt;
Closes #18296
</content>
</entry>
<entry>
<title>libspl/mnttab: remove struct extmnttab</title>
<updated>2026-03-10T20:07:07Z</updated>
<author>
<name>Rob Norris</name>
<email>rob.norris@truenas.com</email>
</author>
<published>2026-03-09T01:08:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a59e712d25aa6398fff52f0b431a7454718ec1af'/>
<id>urn:sha1:a59e712d25aa6398fff52f0b431a7454718ec1af</id>
<content type='text'>
The two additional fields are never used by calling code, and we can
replace their sole internal use with an extra stack param.

Sponsored-by: TrueNAS
Reviewed-by: Ameer Hamza &lt;ahamza@ixsystems.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Rob Norris &lt;rob.norris@truenas.com&gt;
Closes #18296
</content>
</entry>
<entry>
<title>libspl/mnttab: remove getmntany()</title>
<updated>2026-03-10T20:07:07Z</updated>
<author>
<name>Rob Norris</name>
<email>rob.norris@truenas.com</email>
</author>
<published>2026-03-09T00:51:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f64f12079c81236a413f603304b66f3b56ba6181'/>
<id>urn:sha1:f64f12079c81236a413f603304b66f3b56ba6181</id>
<content type='text'>
Only used for when the mount cache was disabled, but since its always
enabled now, we don't need it.

Sponsored-by: TrueNAS
Reviewed-by: Ameer Hamza &lt;ahamza@ixsystems.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Rob Norris &lt;rob.norris@truenas.com&gt;
Closes #18296
</content>
</entry>
<entry>
<title>libspl/mnttab: make mnttab source filenames consistent</title>
<updated>2026-03-10T20:07:07Z</updated>
<author>
<name>Rob Norris</name>
<email>rob.norris@truenas.com</email>
</author>
<published>2026-03-09T01:15:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=143f410e9900bb9523c413e3ab3b023be6089c31'/>
<id>urn:sha1:143f410e9900bb9523c413e3ab3b023be6089c31</id>
<content type='text'>
FreeBSD's getextmntent.c is only separate because it has a different
license to mnttab.c, otherwise it would go there too.

Sponsored-by: TrueNAS
Reviewed-by: Ameer Hamza &lt;ahamza@ixsystems.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Rob Norris &lt;rob.norris@truenas.com&gt;
Closes #18296
</content>
</entry>
<entry>
<title>libzfs/mnttab: shorten names, reorg a bit</title>
<updated>2026-03-10T20:07:07Z</updated>
<author>
<name>Rob Norris</name>
<email>rob.norris@truenas.com</email>
</author>
<published>2026-02-19T00:42:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c0ea89db9f0020e81825d9d7618d5704f2c54a5b'/>
<id>urn:sha1:c0ea89db9f0020e81825d9d7618d5704f2c54a5b</id>
<content type='text'>
We can't change the public interface, but internally we don't need so
much redundant naming.

Sponsored-by: TrueNAS
Reviewed-by: Ameer Hamza &lt;ahamza@ixsystems.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Rob Norris &lt;rob.norris@truenas.com&gt;
Closes #18296
</content>
</entry>
<entry>
<title>libzfs/mnttab: lift node alloc/free</title>
<updated>2026-03-10T20:07:07Z</updated>
<author>
<name>Rob Norris</name>
<email>rob.norris@truenas.com</email>
</author>
<published>2026-02-19T00:30:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f43cb1fef68058272e0959c841773d41f7002ac4'/>
<id>urn:sha1:f43cb1fef68058272e0959c841773d41f7002ac4</id>
<content type='text'>
Sponsored-by: TrueNAS
Reviewed-by: Ameer Hamza &lt;ahamza@ixsystems.com&gt;
Reviewed-by: Brian Behlendorf &lt;behlendorf1@llnl.gov&gt;
Signed-off-by: Rob Norris &lt;rob.norris@truenas.com&gt;
Closes #18296
</content>
</entry>
</feed>
