git: b356da806b52 - main - zfs: merge openzfs/zfs@233d34e47

From: Martin Matuska <mm_at_FreeBSD.org>
Date: Wed, 27 Dec 2023 23:01:23 UTC
The branch main has been updated by mm:

URL: https://cgit.FreeBSD.org/src/commit/?id=b356da806b5207833324a7cdd863adc72189fa58

commit b356da806b5207833324a7cdd863adc72189fa58
Merge: 61e2161367bb 07e95b4670dc
Author:     Martin Matuska <mm@FreeBSD.org>
AuthorDate: 2023-12-27 21:51:21 +0000
Commit:     Martin Matuska <mm@FreeBSD.org>
CommitDate: 2023-12-27 21:51:21 +0000

    zfs: merge openzfs/zfs@233d34e47
    
    Notable upstream pull request merges:
     #15635 eff77a802 ZIL: Improve next log block size prediction
     #15675 6930ecbb7 spa: make read/write queues configurable
     #15677 5a4915660 Don't panic on unencrypted block in encrypted dataset
     #15716 07e95b467 Fix the FreeBSD userspace build
    
    Obtained from:  OpenZFS
    OpenZFS commit: 233d34e47ef88ee9e9a1e1ad02384f2063cd039b

 .../openzfs/cmd/zpool/os/freebsd/zpool_vdev_os.c   |  21 ++
 .../openzfs/cmd/zpool/os/linux/zpool_vdev_os.c     | 255 +++++++++++++++++
 sys/contrib/openzfs/cmd/zpool/zpool_iter.c         |   4 +
 sys/contrib/openzfs/cmd/zpool/zpool_main.c         | 239 ++++++++++++++--
 sys/contrib/openzfs/cmd/zpool/zpool_util.h         |   3 +
 sys/contrib/openzfs/config/kernel-current-time.m4  |   5 +-
 sys/contrib/openzfs/config/kernel-inode-times.m4   |  78 +++++
 sys/contrib/openzfs/config/kernel-shrink.m4        |  87 +++++-
 sys/contrib/openzfs/include/libzfs.h               |   3 +
 sys/contrib/openzfs/include/libzutil.h             |  57 ++++
 .../openzfs/include/os/freebsd/spl/sys/mod_os.h    |   6 +
 .../openzfs/include/os/linux/spl/sys/shrinker.h    |  66 ++---
 sys/contrib/openzfs/include/os/linux/zfs/sys/zpl.h |  20 ++
 sys/contrib/openzfs/include/sys/zil_impl.h         |   8 +-
 sys/contrib/openzfs/lib/libzfs/libzfs.abi          |  97 +++++--
 sys/contrib/openzfs/lib/libzfs/libzfs_pool.c       |  49 +++-
 .../lib/libzutil/os/freebsd/zutil_import_os.c      |   8 +
 .../lib/libzutil/os/linux/zutil_import_os.c        |  40 ++-
 sys/contrib/openzfs/lib/libzutil/zutil_import.c    |  98 +++++++
 sys/contrib/openzfs/lib/libzutil/zutil_pool.c      |  31 ++
 sys/contrib/openzfs/man/man4/zfs.4                 |  10 +
 sys/contrib/openzfs/man/man8/zpool-clear.8         |  11 +
 sys/contrib/openzfs/man/man8/zpool-offline.8       |  18 +-
 sys/contrib/openzfs/man/man8/zpool-status.8        |   2 +
 sys/contrib/openzfs/man/man8/zpool.8               |  19 +-
 sys/contrib/openzfs/module/Kbuild.in               |   1 +
 .../openzfs/module/os/linux/spl/spl-shrinker.c     | 115 ++++++++
 sys/contrib/openzfs/module/os/linux/zfs/arc_os.c   |  11 +-
 .../openzfs/module/os/linux/zfs/vdev_disk.c        |  18 +-
 .../openzfs/module/os/linux/zfs/zfs_ctldir.c       |   4 +-
 .../openzfs/module/os/linux/zfs/zfs_vfsops.c       |  10 +-
 .../openzfs/module/os/linux/zfs/zfs_vnops_os.c     |  33 ++-
 .../openzfs/module/os/linux/zfs/zfs_znode.c        |  45 +--
 .../openzfs/module/os/linux/zfs/zpl_inode.c        |   3 +-
 sys/contrib/openzfs/module/zfs/dbuf.c              |   2 -
 sys/contrib/openzfs/module/zfs/dmu_send.c          |   2 -
 sys/contrib/openzfs/module/zfs/spa.c               | 297 ++++++++++++++++++-
 sys/contrib/openzfs/module/zfs/zil.c               | 267 ++++++++++++-----
 sys/contrib/openzfs/tests/Makefile.am              |   1 +
 sys/contrib/openzfs/tests/runfiles/bclone.run      |  46 +++
 sys/contrib/openzfs/tests/runfiles/common.run      |  18 ++
 .../openzfs/tests/test-runner/bin/zts-report.py.in |  73 +++--
 .../openzfs/tests/zfs-tests/cmd/Makefile.am        |   2 +-
 .../openzfs/tests/zfs-tests/cmd/clonefile.c        |  80 ++++--
 .../openzfs/tests/zfs-tests/include/commands.cfg   |   3 +-
 .../openzfs/tests/zfs-tests/include/math.shlib     |  13 +-
 .../openzfs/tests/zfs-tests/tests/Makefile.am      |  21 ++
 .../tests/zfs-tests/tests/functional/bclone/TODO   |   4 +
 .../zfs-tests/tests/functional/bclone/bclone.cfg   |  32 +++
 .../tests/functional/bclone/bclone_common.kshlib   | 280 ++++++++++++++++++
 .../functional/bclone/bclone_corner_cases.kshlib   | 315 +++++++++++++++++++++
 .../bclone/bclone_crossfs_corner_cases.ksh         |  45 +++
 .../bclone/bclone_crossfs_corner_cases_limited.ksh |  45 +++
 .../functional/bclone/bclone_crossfs_data.ksh      |  46 +++
 .../functional/bclone/bclone_crossfs_embedded.ksh  |  50 ++++
 .../functional/bclone/bclone_crossfs_hole.ksh      |  45 +++
 .../functional/bclone/bclone_diffprops_all.ksh     |  86 ++++++
 .../bclone/bclone_diffprops_checksum.ksh           |  62 ++++
 .../bclone/bclone_diffprops_compress.ksh           |  59 ++++
 .../functional/bclone/bclone_diffprops_copies.ksh  |  59 ++++
 .../bclone/bclone_diffprops_recordsize.ksh         |  65 +++++
 .../tests/functional/bclone/bclone_prop_sync.ksh   |  66 +++++
 .../bclone/bclone_samefs_corner_cases.ksh          |  42 +++
 .../bclone/bclone_samefs_corner_cases_limited.ksh  |  42 +++
 .../tests/functional/bclone/bclone_samefs_data.ksh |  44 +++
 .../functional/bclone/bclone_samefs_embedded.ksh   |  48 ++++
 .../tests/functional/bclone/bclone_samefs_hole.ksh |  44 +++
 .../zfs-tests/tests/functional/bclone/cleanup.ksh  |  37 +++
 .../zfs-tests/tests/functional/bclone/setup.ksh    |  45 +++
 .../tests/functional/redundancy/redundancy.kshlib  |  22 --
 70 files changed, 3565 insertions(+), 318 deletions(-)

diff --cc sys/contrib/openzfs/module/os/linux/spl/spl-shrinker.c
index 000000000000,d5c8da471cbb..d5c8da471cbb
mode 000000,100644..100644
--- a/sys/contrib/openzfs/module/os/linux/spl/spl-shrinker.c
+++ b/sys/contrib/openzfs/module/os/linux/spl/spl-shrinker.c
diff --cc sys/contrib/openzfs/tests/runfiles/bclone.run
index 000000000000,3d0f545d9226..3d0f545d9226
mode 000000,100644..100644
--- a/sys/contrib/openzfs/tests/runfiles/bclone.run
+++ b/sys/contrib/openzfs/tests/runfiles/bclone.run
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/TODO
index 000000000000,7cd4ee898fc4..7cd4ee898fc4
mode 000000,100644..100644
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/TODO
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/TODO
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone.cfg
index 000000000000,f72d17c1beca..f72d17c1beca
mode 000000,100644..100644
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone.cfg
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone.cfg
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_common.kshlib
index 000000000000,beba01c0ed26..beba01c0ed26
mode 000000,100644..100644
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_common.kshlib
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_common.kshlib
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_corner_cases.kshlib
index 000000000000,ddfbfc999c4e..ddfbfc999c4e
mode 000000,100644..100644
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_corner_cases.kshlib
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_corner_cases.kshlib
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases.ksh
index 000000000000,35188cddb063..35188cddb063
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases_limited.ksh
index 000000000000,1fc1bbd07fd9..1fc1bbd07fd9
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases_limited.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_corner_cases_limited.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_data.ksh
index 000000000000,e2fe25d451dd..e2fe25d451dd
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_data.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_data.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_embedded.ksh
index 000000000000,6a6fe1d309a9..6a6fe1d309a9
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_embedded.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_embedded.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_hole.ksh
index 000000000000,d4c33d6da30f..d4c33d6da30f
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_hole.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_crossfs_hole.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_all.ksh
index 000000000000,a5e7282fe6a8..a5e7282fe6a8
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_all.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_all.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_checksum.ksh
index 000000000000,7e064a0dfd73..7e064a0dfd73
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_checksum.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_checksum.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_compress.ksh
index 000000000000,e1d6e5949218..e1d6e5949218
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_compress.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_compress.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_copies.ksh
index 000000000000,ac823e1ec394..ac823e1ec394
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_copies.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_copies.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_recordsize.ksh
index 000000000000,d833e6123106..d833e6123106
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_recordsize.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_diffprops_recordsize.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_prop_sync.ksh
index 000000000000,f8aa1c875c60..f8aa1c875c60
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_prop_sync.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_prop_sync.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases.ksh
index 000000000000,4aa2914da299..4aa2914da299
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases_limited.ksh
index 000000000000,b4737700eb7d..b4737700eb7d
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases_limited.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_corner_cases_limited.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_data.ksh
index 000000000000,e964f7bbf641..e964f7bbf641
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_data.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_data.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_embedded.ksh
index 000000000000,df393a878015..df393a878015
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_embedded.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_embedded.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_hole.ksh
index 000000000000,3c6e345e6e64..3c6e345e6e64
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_hole.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/bclone_samefs_hole.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/cleanup.ksh
index 000000000000,df6d9c08fece..df6d9c08fece
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/cleanup.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/cleanup.ksh
diff --cc sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/setup.ksh
index 000000000000,c68719ee72a2..c68719ee72a2
mode 000000,100755..100755
--- a/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/setup.ksh
+++ b/sys/contrib/openzfs/tests/zfs-tests/tests/functional/bclone/setup.ksh