OpenZFS/src 0409c47. META

Tag 2.3.0-rc2

Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
DeltaFile
+1-1META
+1-11 files

OpenZFS/src 56871e4config user.m4, include libzutil.h

Fallback to strerror() when strerror_l() isn't available

Some C libraries, such as uClibc, do not provide strerror_l() in
which case we fallback to strerror().

Reviewed-by: Tino Reichardt <milky-zfs at mcmilk.de>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #16636 
Closes #16640 
DeltaFile
+4-0include/libzutil.h
+1-1config/user.m4
+5-12 files

OpenZFS/src b5a3825.github/workflows/scripts qemu-5-setup.sh

ZTS: Make use of optimal CPU pinning

With CPU pinning, we should get some speedup because of better
cpu cache re-use.

Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tino Reichardt <milky-zfs at mcmilk.de>
Closes #16641
DeltaFile
+5-2.github/workflows/scripts/qemu-5-setup.sh
+5-21 files

OpenZFS/src 77df762.github/workflows/scripts qemu-1-setup.sh qemu-5-setup.sh

ZTS: Optimize Kernel Same-page Merging (KSM)

Kernel same-page Merging (KSM) allows KVM guests to share identical
memory pages. These shared pages are usually common libraries or other
identical, high-use data.

The current configuration was a bit to lazy - so KSM didn't work very
well. With the new configuration I could run 3 Linux VMs in parralel.

FreeBSD can't benefit from it. But FreeBSD is not so memory hungry in
general, so there is no need for it ;)

Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tino Reichardt <milky-zfs at mcmilk.de>
Closes #16641
DeltaFile
+9-7.github/workflows/scripts/qemu-1-setup.sh
+7-5.github/workflows/scripts/qemu-5-setup.sh
+16-122 files

OpenZFS/src e0bf43d.github/workflows/scripts qemu-5-setup.sh

ZTS: Make use of optimal CPU pinning

With CPU pinning, we should get some speedup because of better
cpu cache re-use.

Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tino Reichardt <milky-zfs at mcmilk.de>
Closes #16641
DeltaFile
+5-2.github/workflows/scripts/qemu-5-setup.sh
+5-21 files

OpenZFS/src e7b6415.github/workflows/scripts qemu-1-setup.sh qemu-5-setup.sh

ZTS: Optimize Kernel Same-page Merging (KSM)

Kernel same-page Merging (KSM) allows KVM guests to share identical
memory pages. These shared pages are usually common libraries or other
identical, high-use data.

The current configuration was a bit to lazy - so KSM didn't work very
well. With the new configuration I could run 3 Linux VMs in parralel.

FreeBSD can't benefit from it. But FreeBSD is not so memory hungry in
general, so there is no need for it ;)

Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tino Reichardt <milky-zfs at mcmilk.de>
Closes #16641
DeltaFile
+9-7.github/workflows/scripts/qemu-1-setup.sh
+7-5.github/workflows/scripts/qemu-5-setup.sh
+16-122 files

OpenZFS/src c642e98module/zfs zfs_vnops.c

Revert "Temporarily disable Direct IO by default"

This partially reverts commit 41210597.  Now that b4e4cbeb2 has
been merged Direct IO can be enabled by default for Linux, but
for FreeBSD there still remains a potentially insufficient range
locking in zfs_getpages() which needs to be resolved.

Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #16629 
DeltaFile
+7-0module/zfs/zfs_vnops.c
+7-01 files

OpenZFS/src 48dfe39config user.m4, include libzutil.h

Fallback to strerror() when strerror_l() isn't available

Some C libraries, such as uClibc, do not provide strerror_l() in
which case we fallback to strerror().

Reviewed-by: Tino Reichardt <milky-zfs at mcmilk.de>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #16636 
Closes #16640 
DeltaFile
+4-0include/libzutil.h
+1-1config/user.m4
+5-12 files

OpenZFS/src 6669036cmd/zfs zfs_main.c, cmd/zpool zpool_main.c

zpool/zfs: allow --json wherever -j is allowed

Mostly so that with the JSON formatting options are also used, they all
look the same. To my eye, `-j --json-flat-vdevs` suggests that they are
different or unrelated, while `--json --json-flat-vdevs` invites no
further questions.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Umer Saleem <usaleem at ixsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at klarasystems.com>
Closes #16632 
DeltaFile
+31-20tests/zfs-tests/tests/functional/cli_root/json/json_sanity.ksh
+24-4cmd/zfs/zfs_main.c
+9-1cmd/zpool/zpool_main.c
+2-2man/man8/zpool-get.8
+1-1man/man8/zpool-list.8
+1-1man/man8/zfs-list.8
+68-294 files not shown
+72-3310 files

OpenZFS/src 5816296cmd/zdb zdb.c

zdb: fix printf format in dump_zap()

When compiling zdb.c on 32-bit platforms, a format conversion error 
is reported for a printf() in dump_zap().  Change %l to macro 
%" PRIu64 " to match the platform size of a 64-bit unsigned integer.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Martin Matuska <mm at FreeBSD.org>
Closes #16635 
DeltaFile
+1-1cmd/zdb/zdb.c
+1-11 files

OpenZFS/src 5bc27actests/zfs-tests/tests/functional/dedup dedup_quota.ksh

ZTS: Slightly increase dedup_quota limit

As described in the comment above this check the space used by
logged entries is not accounted for and some margin needs to be
added in.  While uncommon we have slightly exceeded the 600,000
threshold on some CI run so we increase the limit a bit more.

Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #16637 
DeltaFile
+1-1tests/zfs-tests/tests/functional/dedup/dedup_quota.ksh
+1-11 files

OpenZFS/src c645b07tests/zfs-tests/tests/functional/cli_root/zpool_import zpool_import_parallel_pos.ksh

ZTS: Increase zpool_import_parallel_pos import margin

Increase the pool import time allowed by assuming a minimum reduction
to 1/2 instead of 1/3 when comparing sequential to parallel import
times.  This is sufficient to verify parallel imports are working as
intended and should address the occasional false positive failure
when the time is slightly exceeded.

Reviewed-by: Tino Reichardt <milky-zfs at mcmilk.de>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #16638 
DeltaFile
+2-2tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import_parallel_pos.ksh
+2-21 files

OpenZFS/src 7f830d7.github/workflows codeql.yml

CI: Stick with ubuntu-22.04 for CodeQL analysis

The ubuntu-latest alias now refers to ubuntu-24.04 instead of
ubuntu-22.04 which causes CodeQL's autobuild to fail with:

    cpp/autobuilder: deptrace not supported in ubuntu 24.04

Until deptrace is supported by ubuntu-24.04 hosted runners request
ubuntu-22.04 which is supported.

Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs at mcmilk.de>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Closes #16639 
DeltaFile
+1-1.github/workflows/codeql.yml
+1-11 files

OpenZFS/src 97ba7c2tests/zfs-tests/tests/functional/cli_root/zpool_import zpool_import_parallel_pos.ksh

ZTS: Increase zpool_import_parallel_pos import margin

Increase the pool import time allowed by assuming a minimum reduction
to 1/2 instead of 1/3 when comparing sequential to parallel import
times.  This is sufficient to verify parallel imports are working as
intended and should address the occasional false positive failure
when the time is slightly exceeded.

Reviewed-by: Tino Reichardt <milky-zfs at mcmilk.de>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #16638 
DeltaFile
+2-2tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import_parallel_pos.ksh
+2-21 files

OpenZFS/src 9f3f80ctests/zfs-tests/tests/functional/dedup dedup_quota.ksh

ZTS: Slightly increase dedup_quota limit

As described in the comment above this check the space used by
logged entries is not accounted for and some margin needs to be
added in.  While uncommon we have slightly exceeded the 600,000
threshold on some CI run so we increase the limit a bit more.

Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #16637 
DeltaFile
+1-1tests/zfs-tests/tests/functional/dedup/dedup_quota.ksh
+1-11 files

OpenZFS/src 34efa8e.github/workflows codeql.yml

CI: Stick with ubuntu-22.04 for CodeQL analysis

The ubuntu-latest alias now refers to ubuntu-24.04 instead of
ubuntu-22.04 which causes CodeQL's autobuild to fail with:

    cpp/autobuilder: deptrace not supported in ubuntu 24.04

Until deptrace is supported by ubuntu-24.04 hosted runners request
ubuntu-22.04 which is supported.

Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs at mcmilk.de>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Closes #16639 
DeltaFile
+1-1.github/workflows/codeql.yml
+1-11 files

OpenZFS/src 7e4be92cmd/zdb zdb.c

zdb: fix printf format in dump_zap()

When compiling zdb.c on 32-bit platforms, a format conversion error 
is reported for a printf() in dump_zap().  Change %l to macro 
%" PRIu64 " to match the platform size of a 64-bit unsigned integer.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Martin Matuska <mm at FreeBSD.org>
Closes #16635 
DeltaFile
+1-1cmd/zdb/zdb.c
+1-11 files

OpenZFS/src 7bf5255cmd/zfs zfs_main.c, cmd/zpool zpool_main.c

zpool/zfs: allow --json wherever -j is allowed

Mostly so that with the JSON formatting options are also used, they all
look the same. To my eye, `-j --json-flat-vdevs` suggests that they are
different or unrelated, while `--json --json-flat-vdevs` invites no
further questions.

Sponsored-by: Klara, Inc.
Sponsored-by: Wasabi Technology, Inc.
Reviewed-by: Umer Saleem <usaleem at ixsystems.com>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Rob Norris <rob.norris at klarasystems.com>
Closes #16632 
DeltaFile
+31-20tests/zfs-tests/tests/functional/cli_root/json/json_sanity.ksh
+24-4cmd/zfs/zfs_main.c
+9-1cmd/zpool/zpool_main.c
+2-2man/man8/zpool-get.8
+1-1man/man8/zpool-list.8
+1-1man/man8/zpool-status.8
+68-294 files not shown
+72-3310 files

OpenZFS/src 26ecd8binclude/sys zio.h, module/os/freebsd/zfs abd_os.c

Always validate checksums for Direct I/O reads

This fixes an oversight in the Direct I/O PR. There is nothing that
stops a process from manipulating the contents of a buffer for a
Direct I/O read while the I/O is in flight. This can lead checksum
verify failures. However, the disk contents are still correct, and this
would lead to false reporting of checksum validation failures.

To remedy this, all Direct I/O reads that have a checksum verification
failure are treated as suspicious. In the event a checksum validation
failure occurs for a Direct I/O read, then the I/O request will be
reissued though the ARC. This allows for actual validation to happen and
removes any possibility of the buffer being manipulated after the I/O
has been issued.

Just as with Direct I/O write checksum validation failures, Direct I/O
read checksum validation failures are reported though zpool status -d in
the DIO column. Also the zevent has been updated to have both:
1. dio_verify_wr -> Checksum verification failure for writes

    [35 lines not shown]
DeltaFile
+121-59tests/zfs-tests/cmd/manipulate_user_buffer.c
+85-35module/zfs/zio.c
+107-0tests/zfs-tests/tests/functional/direct/dio_read_verify.ksh
+39-5module/zfs/vdev_raidz.c
+37-4module/os/freebsd/zfs/abd_os.c
+15-14include/sys/zio.h
+404-11718 files not shown
+510-14624 files

OpenZFS/src 774dcbainclude/os/freebsd/zfs/sys abd_os.h

FreeBSD: ignore some includes when not building kernel

The function abd_alloc_from_pages() is used only in kernel.
Excluding sys/vm.h, and vm/vm_page.h includes avoids dependency
problems.

Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Martin Matuska <mm at FreeBSD.org>
Closes #16616 
DeltaFile
+4-0include/os/freebsd/zfs/sys/abd_os.h
+4-01 files

OpenZFS/src 09f6b2ecmd ztest.c, lib/libzfs libzfs_pool.c

ztest: Fix scrub check in ztest_raidz_expand_check()

The scrub code may return EBUSY under several possible scenarios
causing ztest to incorrectly ASSERT when verifying the result of
a raidz expansion.  Update the test case to allow EBUSY since it
does not indicate pool damage.

Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #16627 
DeltaFile
+18-1cmd/ztest.c
+1-1lib/libzfs/libzfs_pool.c
+19-22 files

OpenZFS/src 2609d93man/man5 vdev_id.conf.5, udev vdev_id

vdev_id: multi-lun disks & slot num zero pad

Add ability to generate disk names that contain both a slot number
and a lun number in order to support multi-actuator SAS hard drives
with multiple luns. Also add the ability to zero pad slot numbers to
a desired digit length for easier sorting.

Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Matthew Heller <matthew.f.heller at accre.vanderbilt.edu>
Closes #16603 
DeltaFile
+15-3udev/vdev_id
+9-1man/man5/vdev_id.conf.5
+24-42 files

OpenZFS/src 10f46d2tests/zfs-tests/tests/functional/replacement resilver_restart_001.ksh

ZTS: resilver_restart_001.ksh restore defaults

Update resilver_restart_001.ksh to restore the default
resilver_defer_percent when the test completes.

Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Reviewed-by: Tino Reichardt <milky-zfs at mcmilk.de>
Reviewed-by: Pavel Snajdr <snajpa at snajpa.net>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #16618 
DeltaFile
+3-0tests/zfs-tests/tests/functional/replacement/resilver_restart_001.ksh
+3-01 files

OpenZFS/src 0df10dcconfig deb.am

Only serialize native-deb* targets

.NOTPARALLEL target is being forced on userspace as well. This commit
removes .NOTPARALEL target and only serializes the execution of
native-deb* targets.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Umer Saleem <usaleem at ixsystems.com>
Closes #16622 
DeltaFile
+8-4config/deb.am
+8-41 files

OpenZFS/src 0fbe9d3cmd/zfs zfs_main.c, cmd/zpool zpool_main.c

zpool/zfs: restore -V & --version options

The -j option added a round of getopt, which didn't know the magic
version flags. So just bypass the whole thing and go straight to the
human output function for the special case.

Sponsored-by: https://despairlabs.com/sponsor/
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Reviewed-by: Umer Saleem <usaleem at ixsystems.com>
Signed-off-by: Rob Norris <robn at despairlabs.com>
Closes #16615 
Closes #16617 
DeltaFile
+1-1cmd/zpool/zpool_main.c
+1-1cmd/zfs/zfs_main.c
+2-22 files

OpenZFS/src 84f44eclib/libspl/include/sys uio.h

Return boolean_t in inline functions of lib/libspl/include/sys/uio.h

The inline functions zfs_dio_offset_aligned(), zfs_dio_size_aligned()
and zfs_dio_aligned() are declared as boolean_t but return the bool
type.

This fixes the build of FreeBSD.

Reviewed-by: Alexander Motin <mav at FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Martin Matuska <mm at FreeBSD.org>
Closes #16613 
DeltaFile
+4-4lib/libspl/include/sys/uio.h
+4-41 files

OpenZFS/src fc9608econfig deb.am, contrib/debian control Makefile.am

Bump SONAME of libzfs and libzpool

The ABI of libzfs and libzpool have breaking changes since last
SONAME bump in commit fe6babc:

* libzfs: `zpool_print_unsup_feat` removed (used by zpool cmd).
* libzpool: multiple `ddt_*` symbols removed (used by zdb cmd).

Bump them to avoid ABI breakage.

See: https://github.com/openzfs/zfs/pull/11817
Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Shengqi Chen <harry-chen at outlook.com>
Closes #16609
DeltaFile
+24-21rpm/generic/zfs.spec.in
+13-13contrib/debian/control
+4-4config/deb.am
+4-4contrib/debian/Makefile.am
+2-2contrib/debian/clean
+1-1lib/libzpool/Makefile.am
+48-4510 files not shown
+57-5416 files

OpenZFS/src d32c059contrib/debian openzfs-zfsutils.install

contrib/debian: add new manpages to installation list

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Shengqi Chen <harry-chen at outlook.com>
Closes #16609
DeltaFile
+2-0contrib/debian/openzfs-zfsutils.install
+2-01 files

OpenZFS/src 1ebb6b8module/zfs dsl_dataset.c, tests/zfs-tests/tests/functional/zvol/zvol_misc zvol_misc_snapdev.ksh

Fix generation of kernel uevents for snapshot rename on linux

`zvol_rename_minors()` needs to be given the full path not just the
snapshot name.  Use code removed in a0bd735ad as a guide
to providing the necessary values.

Add ZTS check for /dev changes after snapshot rename.  After
renaming a snapshot with 'snapdev=visible' ensure that the /dev
entries are updated to reflect the rename.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: James Dingwall <james at dingwall.me.uk>
Closes #14223 
Closes #16600 
DeltaFile
+13-0tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_snapdev.ksh
+9-2module/zfs/dsl_dataset.c
+22-22 files

OpenZFS/src f019b44.github/workflows/scripts qemu-9-summary-page.sh

ZTS: Fix summary page creation again - second try

In PR #16599 I used 'return' like in C - which is wrong :/
This fix generates the summary as needed.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Tino Reichardt <milky-zfs at mcmilk.de>
Closes #16611 
DeltaFile
+2-2.github/workflows/scripts/qemu-9-summary-page.sh
+2-21 files