logo

oasis

Own branch of Oasis Linux (upstream: <https://git.sr.ht/~mcf/oasis/>) git clone https://anongit.hacktivis.me/git/oasis.git
commit: 63394a17ae622bb0ed40c0d319cf55b02bc9c752
parent bdcd34d1f1beabbc7cf9063eee2121e11f9d1366
Author: Michael Forney <mforney@mforney.org>
Date:   Fri, 22 Mar 2024 19:22:27 -0700

zfs: Update to 2.2.3

zstream decompress and recompress are patched out for now.

Diffstat:

Mpkg/zfs/.gitignore2+-
Mpkg/zfs/config.h103++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
Mpkg/zfs/gen.lua13++++++-------
Mpkg/zfs/patch/0001-Port-to-BearSSL.patch10+++++-----
Mpkg/zfs/patch/0002-Use-find-exec-rm-instead-of-non-portable-delete.patch28++++++++++++++--------------
Dpkg/zfs/patch/0003-Use-AC_PROG_FGREP-to-detect-fgrep.patch41-----------------------------------------
Apkg/zfs/patch/0003-Use-__asm__-instead-of-asm-to-compile-with-std-c99.patch221+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dpkg/zfs/patch/0004-Use-__asm__-instead-of-asm-to-compile-with-std-c99.patch221-------------------------------------------------------------------------------
Apkg/zfs/patch/0004-Use-__func__-instead-of-obsolete-and-non-standard-__.patch402+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dpkg/zfs/patch/0005-Use-__func__-instead-of-obsolete-and-non-standard-__.patch401-------------------------------------------------------------------------------
Apkg/zfs/patch/0005-Use-forward-declaration-instead-of-empty-struct.patch25+++++++++++++++++++++++++
Apkg/zfs/patch/0006-Avoid-conflict-with-C23-bool-keyword.patch25+++++++++++++++++++++++++
Dpkg/zfs/patch/0006-Use-forward-declaration-instead-of-empty-struct.patch25-------------------------
Dpkg/zfs/patch/0007-Avoid-conflict-with-C23-bool-keyword.patch25-------------------------
Apkg/zfs/patch/0007-Remove-stray-at-top-level.patch392+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rpkg/zfs/patch/0009-Avoid-use-of-long-double-function.patch -> pkg/zfs/patch/0008-Avoid-use-of-long-double-function.patch0
Dpkg/zfs/patch/0008-Remove-stray-at-top-level.patch421-------------------------------------------------------------------------------
Apkg/zfs/patch/0009-Avoid-unnecessary-VLA.patch54++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apkg/zfs/patch/0010-Avoid-arithmetic-on-void-pointer.patch25+++++++++++++++++++++++++
Dpkg/zfs/patch/0010-Avoid-unnecessary-VLA.patch54------------------------------------------------------
Dpkg/zfs/patch/0011-Avoid-arithmetic-on-void-pointer.patch25-------------------------
Apkg/zfs/patch/0011-zstream-Disable-recompress-and-decompress.patch39+++++++++++++++++++++++++++++++++++++++
Mpkg/zfs/sha2562+-
Mpkg/zfs/url2+-
Mpkg/zfs/ver2+-
25 files changed, 1304 insertions(+), 1254 deletions(-)

diff --git a/pkg/zfs/.gitignore b/pkg/zfs/.gitignore @@ -1,2 +1,2 @@ /src -/zfs-2.1.7.tar.gz +/zfs-2.2.3.tar.gz diff --git a/pkg/zfs/config.h b/pkg/zfs/config.h @@ -12,6 +12,7 @@ /* #undef HAVE_ACL_REFCOUNT */ /* #undef HAVE_ADD_DISK_RET */ /* #undef HAVE_AES */ +#define HAVE_AIO_H 1 /* #undef HAVE_AVX */ /* #undef HAVE_AVX2 */ /* #undef HAVE_AVX512BW */ @@ -25,9 +26,13 @@ /* #undef HAVE_AVX512VL */ /* #undef HAVE_BDEVNAME */ /* #undef HAVE_BDEV_CHECK_MEDIA_CHANGE */ -/* #undef HAVE_BDEV_IO_ACCT */ +/* #undef HAVE_BDEV_IO_ACCT_63 */ +/* #undef HAVE_BDEV_IO_ACCT_OLD */ +/* #undef HAVE_BDEV_KOBJ */ /* #undef HAVE_BDEV_MAX_DISCARD_SECTORS */ /* #undef HAVE_BDEV_MAX_SECURE_ERASE_SECTORS */ +/* #undef HAVE_BDEV_OPEN_BY_PATH */ +/* #undef HAVE_BDEV_RELEASE */ /* #undef HAVE_BDEV_SUBMIT_BIO_RETURNS_VOID */ /* #undef HAVE_BDEV_WHOLE */ /* #undef HAVE_BIO_ALLOC_4ARG */ @@ -41,9 +46,12 @@ /* #undef HAVE_BIO_SET_DEV_GPL_ONLY */ /* #undef HAVE_BIO_SET_DEV_MACRO */ /* #undef HAVE_BIO_SET_OP_ATTRS */ +/* #undef HAVE_BLKDEV_GET_BY_PATH_4ARG */ /* #undef HAVE_BLKDEV_GET_ERESTARTSYS */ /* #undef HAVE_BLKDEV_ISSUE_DISCARD */ +/* #undef HAVE_BLKDEV_ISSUE_DISCARD_ASYNC */ /* #undef HAVE_BLKDEV_ISSUE_SECURE_ERASE */ +/* #undef HAVE_BLKDEV_PUT_HOLDER */ /* #undef HAVE_BLKDEV_REREAD_PART */ /* #undef HAVE_BLKG_TRYGET */ /* #undef HAVE_BLKG_TRYGET_GPL_ONLY */ @@ -51,6 +59,8 @@ /* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN */ /* #undef HAVE_BLK_ALLOC_QUEUE_REQUEST_FN_RH */ /* #undef HAVE_BLK_CLEANUP_DISK */ +/* #undef HAVE_BLK_MODE_T */ +/* #undef HAVE_BLK_MQ */ /* #undef HAVE_BLK_QUEUE_BDI_DYNAMIC */ /* #undef HAVE_BLK_QUEUE_DISCARD */ /* #undef HAVE_BLK_QUEUE_FLAG_CLEAR */ @@ -62,6 +72,8 @@ /* #undef HAVE_BLK_QUEUE_UPDATE_READAHEAD */ /* #undef HAVE_BLK_QUEUE_WRITE_CACHE */ /* #undef HAVE_BLK_QUEUE_WRITE_CACHE_GPL_ONLY */ +/* #undef HAVE_BLK_STS_RESV_CONFLICT */ +/* #undef HAVE_BLOCK_DEVICE_OPERATIONS_RELEASE_1ARG */ /* #undef HAVE_BLOCK_DEVICE_OPERATIONS_REVALIDATE_DISK */ /* #undef HAVE_CFLOCALECOPYCURRENT */ /* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */ @@ -70,7 +82,9 @@ /* #undef HAVE_CLEAR_INODE */ /* #undef HAVE_CONST_DENTRY_OPERATIONS */ /* #undef HAVE_COPY_FROM_ITER */ +/* #undef HAVE_COPY_SPLICE_READ */ /* #undef HAVE_COPY_TO_ITER */ +/* #undef HAVE_CPU_HAS_FEATURE_GPL_ONLY */ /* #undef HAVE_CPU_HOTPLUG */ /* #undef HAVE_CURRENT_TIME */ /* #undef HAVE_DCGETTEXT */ @@ -79,6 +93,7 @@ /* #undef HAVE_DEQUEUE_SIGNAL_4ARG */ /* #undef HAVE_DEVT_LOOKUP_BDEV */ /* #undef HAVE_DIRTY_INODE_WITH_FLAGS */ +/* #undef HAVE_DISK_CHECK_MEDIA_CHANGE */ /* #undef HAVE_DISK_IO_ACCT */ /* #undef HAVE_DISK_UPDATE_READAHEAD */ #define HAVE_DLFCN_H 1 @@ -89,13 +104,21 @@ /* #undef HAVE_EVICT_INODE */ /* #undef HAVE_FALLOC_FL_ZERO_RANGE */ /* #undef HAVE_FAULT_IN_IOV_ITER_READABLE */ +/* #undef HAVE_FILEMAP_RANGE_HAS_PAGE */ /* #undef HAVE_FILE_AIO_FSYNC */ /* #undef HAVE_FILE_DENTRY */ +/* #undef HAVE_FILE_FADVISE */ /* #undef HAVE_FILE_INODE */ +/* #undef HAVE_FLUSH_DCACHE_PAGE_GPL_ONLY */ /* #undef HAVE_FOLLOW_LINK_COOKIE */ /* #undef HAVE_FOLLOW_LINK_NAMEIDATA */ +#define HAVE_FORMAT_OVERFLOW 1 +/* #undef HAVE_FSYNC_BDEV */ /* #undef HAVE_FSYNC_RANGE */ /* #undef HAVE_FSYNC_WITHOUT_DENTRY */ +/* #undef HAVE_GENERIC_FADVISE */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP */ +/* #undef HAVE_GENERIC_FILLATTR_IDMAP_REQMASK */ /* #undef HAVE_GENERIC_FILLATTR_USERNS */ /* #undef HAVE_GENERIC_IO_ACCT_3ARG */ /* #undef HAVE_GENERIC_IO_ACCT_4ARG */ @@ -105,26 +128,47 @@ /* #undef HAVE_GETTEXT */ /* #undef HAVE_GET_ACL */ /* #undef HAVE_GET_ACL_RCU */ +/* #undef HAVE_GET_INODE_ACL */ /* #undef HAVE_GET_LINK_COOKIE */ /* #undef HAVE_GET_LINK_DELAYED */ /* #undef HAVE_GROUP_INFO_GID */ /* #undef HAVE_HAS_CAPABILITY */ +/* #undef HAVE_IATTR_VFSID */ /* #undef HAVE_ICONV */ +/* #undef HAVE_IDMAP_IOPS_GETATTR */ +/* #undef HAVE_IDMAP_IOPS_SETATTR */ +/* #undef HAVE_IDMAP_MNT_API */ +/* #undef HAVE_IDMAP_NO_USERNS */ #define HAVE_IMPLICIT_FALLTHROUGH 1 #define HAVE_INFINITE_RECURSION 1 +/* #undef HAVE_INODE_GET_ATIME */ +/* #undef HAVE_INODE_GET_CTIME */ +/* #undef HAVE_INODE_GET_MTIME */ /* #undef HAVE_INODE_LOCK_SHARED */ /* #undef HAVE_INODE_OWNER_OR_CAPABLE */ -/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAPPED */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_IDMAP */ +/* #undef HAVE_INODE_OWNER_OR_CAPABLE_USERNS */ +/* #undef HAVE_INODE_SET_ATIME_TO_TS */ +/* #undef HAVE_INODE_SET_CTIME_TO_TS */ /* #undef HAVE_INODE_SET_FLAGS */ /* #undef HAVE_INODE_SET_IVERSION */ +/* #undef HAVE_INODE_SET_MTIME_TO_TS */ /* #undef HAVE_INODE_TIMESPEC64_TIMES */ /* #undef HAVE_INODE_TIMESTAMP_TRUNCATE */ #define HAVE_INTTYPES_H 1 /* #undef HAVE_IN_COMPAT_SYSCALL */ +/* #undef HAVE_IOPS_CREATE_IDMAP */ /* #undef HAVE_IOPS_CREATE_USERNS */ +/* #undef HAVE_IOPS_MKDIR_IDMAP */ /* #undef HAVE_IOPS_MKDIR_USERNS */ +/* #undef HAVE_IOPS_MKNOD_IDMAP */ /* #undef HAVE_IOPS_MKNOD_USERNS */ +/* #undef HAVE_IOPS_PERMISSION_IDMAP */ +/* #undef HAVE_IOPS_PERMISSION_USERNS */ +/* #undef HAVE_IOPS_RENAME_IDMAP */ /* #undef HAVE_IOPS_RENAME_USERNS */ +/* #undef HAVE_IOPS_SETATTR */ +/* #undef HAVE_IOPS_SYMLINK_IDMAP */ /* #undef HAVE_IOPS_SYMLINK_USERNS */ /* #undef HAVE_IOV_ITER_ADVANCE */ /* #undef HAVE_IOV_ITER_COUNT */ @@ -134,16 +178,19 @@ /* #undef HAVE_IOV_ITER_TYPES */ /* #undef HAVE_IO_SCHEDULE_TIMEOUT */ #define HAVE_ISSETUGID 1 +/* #undef HAVE_ITER_IOV */ /* #undef HAVE_KERNEL_FPU */ /* #undef HAVE_KERNEL_FPU_API_HEADER */ /* #undef HAVE_KERNEL_FPU_INTERNAL */ /* #undef HAVE_KERNEL_FPU_INTERNAL_HEADER */ -/* #undef HAVE_KERNEL_FPU_XCR_HEADER */ -/* #undef HAVE_KERNEL_FPU_XSAVE_INTERNAL */ /* #undef HAVE_KERNEL_GET_ACL_HANDLE_CACHE */ +#define HAVE_KERNEL_INFINITE_RECURSION 1 +/* #undef HAVE_KERNEL_NEON */ /* #undef HAVE_KERNEL_OBJTOOL */ /* #undef HAVE_KERNEL_OBJTOOL_HEADER */ /* #undef HAVE_KERNEL_READ_PPOS */ +/* #undef HAVE_KERNEL_STRLCPY */ +/* #undef HAVE_KERNEL_STRSCPY */ /* #undef HAVE_KERNEL_TIMER_FUNCTION_TIMER_LIST */ /* #undef HAVE_KERNEL_TIMER_LIST_FLAGS */ /* #undef HAVE_KERNEL_TIMER_SETUP */ @@ -171,6 +218,7 @@ #define HAVE_MOVBE 1 /* #undef HAVE_NEW_SYNC_READ */ /* #undef HAVE_PAGEMAP_FOLIO_WAIT_BIT */ +/* #undef HAVE_PART_TO_DEV */ /* #undef HAVE_PATH_IOPS_GETATTR */ #define HAVE_PCLMULQDQ 1 /* #undef HAVE_PERCPU_COUNTER_ADD_BATCH */ @@ -186,7 +234,11 @@ /* #undef HAVE_PUT_LINK_NAMEIDATA */ /* #undef HAVE_PYTHON */ /* #undef HAVE_QAT */ +/* #undef HAVE_RECLAIM_STATE_RECLAIMED */ /* #undef HAVE_REGISTER_SHRINKER_VARARG */ +/* #undef HAVE_REGISTER_SYSCTL_TABLE */ +/* #undef HAVE_RENAME2 */ +/* #undef HAVE_RENAME2_OPERATIONS_WRAPPER */ /* #undef HAVE_RENAME_WANTS_FLAGS */ /* #undef HAVE_REQ_DISCARD */ /* #undef HAVE_REQ_FLUSH */ @@ -200,12 +252,16 @@ /* #undef HAVE_RWSEM_ATOMIC_LONG_COUNT */ /* #undef HAVE_SCHED_SIGNAL_HEADER */ /* #undef HAVE_SECURITY_PAM_MODULES_H */ +/* #undef HAVE_SETATTR_PREPARE_IDMAP */ /* #undef HAVE_SETATTR_PREPARE_NO_USERNS */ /* #undef HAVE_SETATTR_PREPARE_USERNS */ /* #undef HAVE_SET_ACL */ +/* #undef HAVE_SET_ACL_IDMAP_DENTRY */ /* #undef HAVE_SET_ACL_USERNS */ +/* #undef HAVE_SET_ACL_USERNS_DENTRY_ARG2 */ /* #undef HAVE_SET_CACHED_ACL_USABLE */ /* #undef HAVE_SET_SPECIAL_STATE */ +/* #undef HAVE_SHRINKER_REGISTER */ /* #undef HAVE_SHRINK_CONTROL_STRUCT */ /* #undef HAVE_SIGINFO */ /* #undef HAVE_SIGNAL_STOP */ @@ -227,12 +283,17 @@ #define HAVE_STRLCAT 1 #define HAVE_STRLCPY 1 /* #undef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS */ +/* #undef HAVE_SUPER_BLOCK_S_SHRINK */ +/* #undef HAVE_SUPER_BLOCK_S_SHRINK_PTR */ /* #undef HAVE_SUPER_SETUP_BDI_NAME */ /* #undef HAVE_SUPER_USER_NS */ +/* #undef HAVE_SYNC_BLOCKDEV */ /* #undef HAVE_SYSFS_DEFAULT_GROUPS */ #define HAVE_SYS_STAT_H 1 #define HAVE_SYS_TYPES_H 1 /* #undef HAVE_TMPFILE */ +/* #undef HAVE_TMPFILE_DENTRY */ +/* #undef HAVE_TMPFILE_IDMAP */ /* #undef HAVE_TMPFILE_USERNS */ /* #undef HAVE_TOTALHIGH_PAGES */ /* #undef HAVE_TOTALRAM_PAGES_FUNC */ @@ -240,24 +301,33 @@ /* #undef HAVE_UNDERSCORE_KERNEL_FPU */ #define HAVE_UNISTD_H 1 /* #undef HAVE_USERNS_IOPS_GETATTR */ +/* #undef HAVE_USERNS_IOPS_SETATTR */ +/* #undef HAVE_USER_NS_COMMON_INUM */ /* #undef HAVE_VFSMOUNT_IOPS_GETATTR */ +/* #undef HAVE_VFS_CLONE_FILE_RANGE */ +/* #undef HAVE_VFS_COPY_FILE_RANGE */ +/* #undef HAVE_VFS_DEDUPE_FILE_RANGE */ /* #undef HAVE_VFS_DIRECT_IO_IOVEC */ /* #undef HAVE_VFS_DIRECT_IO_ITER */ /* #undef HAVE_VFS_DIRECT_IO_ITER_OFFSET */ /* #undef HAVE_VFS_DIRECT_IO_ITER_RW_OFFSET */ /* #undef HAVE_VFS_FILEMAP_DIRTY_FOLIO */ +/* #undef HAVE_VFS_FILE_OPERATIONS_EXTEND */ +/* #undef HAVE_VFS_GENERIC_COPY_FILE_RANGE */ /* #undef HAVE_VFS_IOV_ITER */ /* #undef HAVE_VFS_ITERATE */ /* #undef HAVE_VFS_ITERATE_SHARED */ /* #undef HAVE_VFS_READDIR */ /* #undef HAVE_VFS_READPAGES */ /* #undef HAVE_VFS_READ_FOLIO */ +/* #undef HAVE_VFS_REMAP_FILE_RANGE */ /* #undef HAVE_VFS_RW_ITERATE */ /* #undef HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS */ /* #undef HAVE_VMALLOC_PAGE_KERNEL */ /* #undef HAVE_WAIT_ON_BIT_ACTION */ /* #undef HAVE_WAIT_QUEUE_ENTRY_T */ /* #undef HAVE_WAIT_QUEUE_HEAD_ENTRY */ +/* #undef HAVE_WRITEPAGE_T_FOLIO */ /* #undef HAVE_XATTR_GET_DENTRY */ /* #undef HAVE_XATTR_GET_DENTRY_INODE */ /* #undef HAVE_XATTR_GET_DENTRY_INODE_FLAGS */ @@ -269,6 +339,7 @@ /* #undef HAVE_XATTR_SET_DENTRY */ /* #undef HAVE_XATTR_SET_DENTRY_INODE */ /* #undef HAVE_XATTR_SET_HANDLER */ +/* #undef HAVE_XATTR_SET_IDMAP */ /* #undef HAVE_XATTR_SET_USERNS */ #define HAVE_XSAVE 1 #define HAVE_XSAVEOPT 1 @@ -277,20 +348,29 @@ #define HAVE_ZLIB 1 /* #undef HAVE___POSIX_ACL_CHMOD */ /* #undef KERNEL_EXPORTS_X86_FPU */ -/* #undef LIBFETCH_DYNAMIC */ -/* #undef LIBFETCH_IS_FETCH */ -/* #undef LIBFETCH_IS_LIBCURL */ -/* #undef LIBFETCH_SONAME */ +#define LIBFETCH_DYNAMIC 0 +#define LIBFETCH_IS_FETCH 0 +#define LIBFETCH_IS_LIBCURL 0 +#define LIBFETCH_SONAME "" #define LT_OBJDIR ".libs/" /* #undef MAKE_REQUEST_FN_RET */ +#define PACKAGE "zfs" +#define PACKAGE_BUGREPORT "" +#define PACKAGE_NAME "zfs" +#define PACKAGE_STRING "zfs 2.2.3" +#define PACKAGE_TARNAME "zfs" +#define PACKAGE_URL "" +#define PACKAGE_VERSION "2.2.3" /* #undef SHRINK_CONTROL_HAS_NID */ /* #undef SPL_KTHREAD_COMPLETE_AND_EXIT */ #define SPL_META_ALIAS ZFS_META_ALIAS #define SPL_META_RELEASE ZFS_META_RELEASE #define SPL_META_VERSION ZFS_META_VERSION /* #undef SPL_PDE_DATA */ +#define STDC_HEADERS 1 /* #undef SYSTEM_FREEBSD */ #define SYSTEM_LINUX 1 +#define VERSION "2.2.3" /* #undef ZFS_DEBUG */ /* #undef ZFS_DEVICE_MINOR */ /* #undef ZFS_ENUM_NODE_STAT_ITEM_NR_FILE_PAGES */ @@ -304,10 +384,10 @@ /* #undef ZFS_GLOBAL_NODE_PAGE_STATE */ /* #undef ZFS_GLOBAL_ZONE_PAGE_STATE */ /* #undef ZFS_IS_GPL_COMPATIBLE */ -#define ZFS_META_ALIAS "zfs-2.1.7-1" +#define ZFS_META_ALIAS "zfs-2.2.3-1" #define ZFS_META_AUTHOR "OpenZFS" /* #undef ZFS_META_DATA */ -#define ZFS_META_KVER_MAX "6.0" +#define ZFS_META_KVER_MAX "6.7" #define ZFS_META_KVER_MIN "3.10" #define ZFS_META_LICENSE "CDDL" /* #undef ZFS_META_LT_AGE */ @@ -315,9 +395,10 @@ /* #undef ZFS_META_LT_REVISION */ #define ZFS_META_NAME "zfs" #define ZFS_META_RELEASE "1" -#define ZFS_META_VERSION "2.1.7" +#define ZFS_META_VERSION "2.2.3" /* #undef ZFS_PERCPU_REF_COUNT_IN_DATA */ +#define ZFSEXECDIR "/libexec/zfs" #define RUNSTATEDIR "/run" #define SBINDIR "/bin" #define SYSCONFDIR "/etc" diff --git a/pkg/zfs/gen.lua b/pkg/zfs/gen.lua @@ -30,6 +30,7 @@ lib('libavl.a', {'module/avl/avl.c'}) lib('libshare.a', [[ lib/libshare/( libshare.c + nfs.c os/linux/(nfs.c smb.c) ) ]]) @@ -38,6 +39,7 @@ lib('libspl.a', [[ lib/libspl/( assert.c atomic.c + getexecname.c list.c mkdirp.c page.c @@ -81,9 +83,9 @@ lib('libzutil.a', [[ zutil_nicenum.c zutil_pool.c os/linux/( + zutil_setproctitle.c zutil_device_path_os.c zutil_import_os.c - zutil_compat.c ) ) libefi.a.d @@ -96,12 +98,9 @@ lib('libuutil.a', [[ lib/libuutil/( uu_alloc.c uu_avl.c - uu_dprintf.c uu_ident.c uu_list.c uu_misc.c - uu_open.c - uu_pname.c uu_string.c ) libavl.a @@ -111,6 +110,7 @@ lib('libuutil.a', [[ lib('libzfs_core.a', [[ lib/libzfs_core/( libzfs_core.c + os/linux/libzfs_core_ioctl.c ) libzutil.a.d ]]) @@ -132,7 +132,6 @@ lib('libzfs.a', [[ os/linux/( libzfs_mount_os.c libzfs_pool_os.c - libzfs_sendrecv_os.c libzfs_util_os.c ) ) @@ -169,12 +168,12 @@ exe('zed', [[ zed_log.c zed_strings.c agents/( + fmd_api.c + fmd_serd.c zfs_agents.c zfs_diagnosis.c zfs_mod.c zfs_retire.c - fmd_api.c - fmd_serd.c ) ) libzfs.a.d diff --git a/pkg/zfs/patch/0001-Port-to-BearSSL.patch b/pkg/zfs/patch/0001-Port-to-BearSSL.patch @@ -1,4 +1,4 @@ -From ec03405d2ba8eee8e95ec94e09888eaff82ad6ac Mon Sep 17 00:00:00 2001 +From d9bae3dfe72c3680b273e611d01a8adf7cdf7765 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Tue, 17 Jan 2023 12:01:13 -0800 Subject: [PATCH] Port to BearSSL @@ -8,7 +8,7 @@ Subject: [PATCH] Port to BearSSL 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/lib/libzfs/libzfs_crypto.c b/lib/libzfs/libzfs_crypto.c -index f77becd6a..5eed592a4 100644 +index 8f2a50d55..867879090 100644 --- a/lib/libzfs/libzfs_crypto.c +++ b/lib/libzfs/libzfs_crypto.c @@ -25,7 +25,7 @@ @@ -20,7 +20,7 @@ index f77becd6a..5eed592a4 100644 #if LIBFETCH_DYNAMIC #include <dlfcn.h> #endif -@@ -763,6 +763,44 @@ error: +@@ -772,6 +772,44 @@ error: return (ret); } @@ -64,8 +64,8 @@ index f77becd6a..5eed592a4 100644 + static int derive_key(libzfs_handle_t *hdl, zfs_keyformat_t format, uint64_t iters, - uint8_t *key_material, size_t key_material_len, uint64_t salt, -@@ -793,15 +831,9 @@ derive_key(libzfs_handle_t *hdl, zfs_keyformat_t format, uint64_t iters, + uint8_t *key_material, uint64_t salt, +@@ -800,15 +838,9 @@ derive_key(libzfs_handle_t *hdl, zfs_keyformat_t format, uint64_t iters, case ZFS_KEYFORMAT_PASSPHRASE: salt = LE_64(salt); diff --git a/pkg/zfs/patch/0002-Use-find-exec-rm-instead-of-non-portable-delete.patch b/pkg/zfs/patch/0002-Use-find-exec-rm-instead-of-non-portable-delete.patch @@ -1,4 +1,4 @@ -From 8da3e065051442982e255786a45fd5eea01321a9 Mon Sep 17 00:00:00 2001 +From 4f2a58f0763898a49d2b5d76f92f321947188708 Mon Sep 17 00:00:00 2001 From: Michael Forney <mforney@mforney.org> Date: Tue, 17 Jan 2023 12:56:34 -0800 Subject: [PATCH] Use find -exec rm instead of non-portable -delete @@ -12,7 +12,7 @@ Subject: [PATCH] Use find -exec rm instead of non-portable -delete 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/config/ax_code_coverage.m4 b/config/ax_code_coverage.m4 -index 3e3c666f3..fbe46db1f 100644 +index cd2498358..83b3dbf30 100644 --- a/config/ax_code_coverage.m4 +++ b/config/ax_code_coverage.m4 @@ -153,7 +153,7 @@ distclean: code-coverage-clean @@ -25,10 +25,10 @@ index 3e3c666f3..fbe46db1f 100644 ], [ [CODE_COVERAGE_RULES_CHECK=' diff --git a/module/Makefile.in b/module/Makefile.in -index b6338430e..d87fb729d 100644 +index 9b34b3dfa..63d18d270 100644 --- a/module/Makefile.in +++ b/module/Makefile.in -@@ -70,7 +70,7 @@ clean-Linux: +@@ -71,7 +71,7 @@ clean-Linux: @CONFIG_KERNEL_TRUE@ $(MAKE) -C @LINUX_OBJ@ M="$$PWD" @KERNEL_MAKE@ clean $(RM) @LINUX_SYMBOLS@ Module.markers @@ -37,17 +37,17 @@ index b6338430e..d87fb729d 100644 clean-FreeBSD: +$(FMAKE) clean -@@ -86,7 +86,7 @@ modules_install-Linux: +@@ -91,7 +91,7 @@ modules_install-Linux: modules_uninstall-Linux-legacy + KERNELRELEASE=@LINUX_VERSION@ @# Remove extraneous build products when packaging - kmoddir=$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \ if [ -n "$(DESTDIR)" ]; then \ -- find $$kmoddir -name 'modules.*' -delete; \ -+ find $$kmoddir -name 'modules.*' -exec $(RM) -- {} +; \ +- find $(KMODDIR) -name 'modules.*' -delete; \ ++ find $(KMODDIR) -name 'modules.*' -exec $(RM) -- {} + \ fi @# Debian ships tiny fake System.map files that are @# syntactically valid but just say diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_timestamp.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_timestamp.ksh -index 0d08cf629..7714d02cd 100755 +index 81ee87f8a..903d2856f 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_timestamp.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_diff/zfs_diff_timestamp.ksh @@ -33,7 +33,7 @@ function cleanup @@ -60,20 +60,20 @@ index 0d08cf629..7714d02cd 100755 } diff --git a/tests/zfs-tests/tests/functional/cli_root/zfs_send/zfs_send_007_pos.ksh b/tests/zfs-tests/tests/functional/cli_root/zfs_send/zfs_send_007_pos.ksh -index da0aebe6b..7d5242ee0 100755 +index 157603981..cf60d03c5 100755 --- a/tests/zfs-tests/tests/functional/cli_root/zfs_send/zfs_send_007_pos.ksh +++ b/tests/zfs-tests/tests/functional/cli_root/zfs_send/zfs_send_007_pos.ksh -@@ -61,7 +61,7 @@ test_pool () +@@ -61,7 +61,7 @@ function test_pool object=$(ls -i $mntpnt | awk '{print $1}') log_must zfs snapshot $POOL/fs@a while true; do - log_must find $mntpnt/ -type f -delete + log_must find $mntpnt/ -type f -exec rm -- {} + - sync + sync_all_pools log_must mkfiles "$mntpnt/" 4000 - sync + sync_all_pools diff --git a/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_common.kshlib b/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_common.kshlib -index b69d2ce02..54f3e459e 100644 +index 93355d0b3..88fc777e1 100644 --- a/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_common.kshlib +++ b/tests/zfs-tests/tests/functional/zvol/zvol_misc/zvol_misc_common.kshlib @@ -60,7 +60,7 @@ function udev_cleanup diff --git a/pkg/zfs/patch/0003-Use-AC_PROG_FGREP-to-detect-fgrep.patch b/pkg/zfs/patch/0003-Use-AC_PROG_FGREP-to-detect-fgrep.patch @@ -1,41 +0,0 @@ -From 4f4a44f8c83179ee98397faa773f2e4c1faa066b Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Tue, 17 Jan 2023 12:57:13 -0800 -Subject: [PATCH] Use AC_PROG_FGREP to detect fgrep - -fgrep is not standard, so use AC_PROG_FGREP to detect the appropriate -command. ---- - config/kernel.m4 | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/config/kernel.m4 b/config/kernel.m4 -index 3a059b73a..3f535fdb3 100644 ---- a/config/kernel.m4 -+++ b/config/kernel.m4 -@@ -324,6 +324,7 @@ dnl # and `/usr/src/linux-*` with the highest version number according - dnl # to `sort -V` is assumed to be both source and build directory. - dnl # - AC_DEFUN([ZFS_AC_KERNEL], [ -+ AC_REQUIRE([AC_PROG_FGREP]) - AC_ARG_WITH([linux], - AS_HELP_STRING([--with-linux=PATH], - [Path to kernel source]), -@@ -404,11 +405,11 @@ AC_DEFUN([ZFS_AC_KERNEL], [ - utsrelease1=$kernelbuild/include/linux/version.h - utsrelease2=$kernelbuild/include/linux/utsrelease.h - utsrelease3=$kernelbuild/include/generated/utsrelease.h -- AS_IF([test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1], [ -+ AS_IF([test -r $utsrelease1 && $FGREP -q UTS_RELEASE $utsrelease1], [ - utsrelease=$utsrelease1 -- ], [test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2], [ -+ ], [test -r $utsrelease2 && $FGREP -q UTS_RELEASE $utsrelease2], [ - utsrelease=$utsrelease2 -- ], [test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3], [ -+ ], [test -r $utsrelease3 && $FGREP -q UTS_RELEASE $utsrelease3], [ - utsrelease=$utsrelease3 - ]) - --- -2.37.3 - diff --git a/pkg/zfs/patch/0003-Use-__asm__-instead-of-asm-to-compile-with-std-c99.patch b/pkg/zfs/patch/0003-Use-__asm__-instead-of-asm-to-compile-with-std-c99.patch @@ -0,0 +1,221 @@ +From 2c79a37719c4f115ad718adae6856f903f5a1e7b Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Tue, 17 Jan 2023 13:07:11 -0800 +Subject: [PATCH] Use __asm__ instead of asm to compile with -std=c99 + +--- + module/zcommon/zfs_fletcher_intel.c | 44 +++++++-------- + module/zcommon/zfs_fletcher_sse.c | 86 ++++++++++++++--------------- + 2 files changed, 65 insertions(+), 65 deletions(-) + +diff --git a/module/zcommon/zfs_fletcher_intel.c b/module/zcommon/zfs_fletcher_intel.c +index 34590a155..9213d083c 100644 +--- a/module/zcommon/zfs_fletcher_intel.c ++++ b/module/zcommon/zfs_fletcher_intel.c +@@ -83,18 +83,18 @@ fletcher_4_avx2_fini(fletcher_4_ctx_t *ctx, zio_cksum_t *zcp) + + #define FLETCHER_4_AVX2_RESTORE_CTX(ctx) \ + { \ +- asm volatile("vmovdqu %0, %%ymm0" :: "m" ((ctx)->avx[0])); \ +- asm volatile("vmovdqu %0, %%ymm1" :: "m" ((ctx)->avx[1])); \ +- asm volatile("vmovdqu %0, %%ymm2" :: "m" ((ctx)->avx[2])); \ +- asm volatile("vmovdqu %0, %%ymm3" :: "m" ((ctx)->avx[3])); \ ++ __asm__ volatile("vmovdqu %0, %%ymm0" :: "m" ((ctx)->avx[0])); \ ++ __asm__ volatile("vmovdqu %0, %%ymm1" :: "m" ((ctx)->avx[1])); \ ++ __asm__ volatile("vmovdqu %0, %%ymm2" :: "m" ((ctx)->avx[2])); \ ++ __asm__ volatile("vmovdqu %0, %%ymm3" :: "m" ((ctx)->avx[3])); \ + } + + #define FLETCHER_4_AVX2_SAVE_CTX(ctx) \ + { \ +- asm volatile("vmovdqu %%ymm0, %0" : "=m" ((ctx)->avx[0])); \ +- asm volatile("vmovdqu %%ymm1, %0" : "=m" ((ctx)->avx[1])); \ +- asm volatile("vmovdqu %%ymm2, %0" : "=m" ((ctx)->avx[2])); \ +- asm volatile("vmovdqu %%ymm3, %0" : "=m" ((ctx)->avx[3])); \ ++ __asm__ volatile("vmovdqu %%ymm0, %0" : "=m" ((ctx)->avx[0])); \ ++ __asm__ volatile("vmovdqu %%ymm1, %0" : "=m" ((ctx)->avx[1])); \ ++ __asm__ volatile("vmovdqu %%ymm2, %0" : "=m" ((ctx)->avx[2])); \ ++ __asm__ volatile("vmovdqu %%ymm3, %0" : "=m" ((ctx)->avx[3])); \ + } + + +@@ -107,15 +107,15 @@ fletcher_4_avx2_native(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) + FLETCHER_4_AVX2_RESTORE_CTX(ctx); + + do { +- asm volatile("vpmovzxdq %0, %%ymm4"::"m" (*ip)); +- asm volatile("vpaddq %ymm4, %ymm0, %ymm0"); +- asm volatile("vpaddq %ymm0, %ymm1, %ymm1"); +- asm volatile("vpaddq %ymm1, %ymm2, %ymm2"); +- asm volatile("vpaddq %ymm2, %ymm3, %ymm3"); ++ __asm__ volatile("vpmovzxdq %0, %%ymm4"::"m" (*ip)); ++ __asm__ volatile("vpaddq %ymm4, %ymm0, %ymm0"); ++ __asm__ volatile("vpaddq %ymm0, %ymm1, %ymm1"); ++ __asm__ volatile("vpaddq %ymm1, %ymm2, %ymm2"); ++ __asm__ volatile("vpaddq %ymm2, %ymm3, %ymm3"); + } while ((ip += 2) < ipend); + + FLETCHER_4_AVX2_SAVE_CTX(ctx); +- asm volatile("vzeroupper"); ++ __asm__ volatile("vzeroupper"); + } + + static void +@@ -130,20 +130,20 @@ fletcher_4_avx2_byteswap(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) + + FLETCHER_4_AVX2_RESTORE_CTX(ctx); + +- asm volatile("vmovdqu %0, %%ymm5" :: "m" (mask)); ++ __asm__ volatile("vmovdqu %0, %%ymm5" :: "m" (mask)); + + do { +- asm volatile("vpmovzxdq %0, %%ymm4"::"m" (*ip)); +- asm volatile("vpshufb %ymm5, %ymm4, %ymm4"); ++ __asm__ volatile("vpmovzxdq %0, %%ymm4"::"m" (*ip)); ++ __asm__ volatile("vpshufb %ymm5, %ymm4, %ymm4"); + +- asm volatile("vpaddq %ymm4, %ymm0, %ymm0"); +- asm volatile("vpaddq %ymm0, %ymm1, %ymm1"); +- asm volatile("vpaddq %ymm1, %ymm2, %ymm2"); +- asm volatile("vpaddq %ymm2, %ymm3, %ymm3"); ++ __asm__ volatile("vpaddq %ymm4, %ymm0, %ymm0"); ++ __asm__ volatile("vpaddq %ymm0, %ymm1, %ymm1"); ++ __asm__ volatile("vpaddq %ymm1, %ymm2, %ymm2"); ++ __asm__ volatile("vpaddq %ymm2, %ymm3, %ymm3"); + } while ((ip += 2) < ipend); + + FLETCHER_4_AVX2_SAVE_CTX(ctx); +- asm volatile("vzeroupper"); ++ __asm__ volatile("vzeroupper"); + } + + static boolean_t fletcher_4_avx2_valid(void) +diff --git a/module/zcommon/zfs_fletcher_sse.c b/module/zcommon/zfs_fletcher_sse.c +index 8ab9b9acb..b942de4a2 100644 +--- a/module/zcommon/zfs_fletcher_sse.c ++++ b/module/zcommon/zfs_fletcher_sse.c +@@ -82,18 +82,18 @@ fletcher_4_sse2_fini(fletcher_4_ctx_t *ctx, zio_cksum_t *zcp) + + #define FLETCHER_4_SSE_RESTORE_CTX(ctx) \ + { \ +- asm volatile("movdqu %0, %%xmm0" :: "m" ((ctx)->sse[0])); \ +- asm volatile("movdqu %0, %%xmm1" :: "m" ((ctx)->sse[1])); \ +- asm volatile("movdqu %0, %%xmm2" :: "m" ((ctx)->sse[2])); \ +- asm volatile("movdqu %0, %%xmm3" :: "m" ((ctx)->sse[3])); \ ++ __asm__ volatile("movdqu %0, %%xmm0" :: "m" ((ctx)->sse[0])); \ ++ __asm__ volatile("movdqu %0, %%xmm1" :: "m" ((ctx)->sse[1])); \ ++ __asm__ volatile("movdqu %0, %%xmm2" :: "m" ((ctx)->sse[2])); \ ++ __asm__ volatile("movdqu %0, %%xmm3" :: "m" ((ctx)->sse[3])); \ + } + + #define FLETCHER_4_SSE_SAVE_CTX(ctx) \ + { \ +- asm volatile("movdqu %%xmm0, %0" : "=m" ((ctx)->sse[0])); \ +- asm volatile("movdqu %%xmm1, %0" : "=m" ((ctx)->sse[1])); \ +- asm volatile("movdqu %%xmm2, %0" : "=m" ((ctx)->sse[2])); \ +- asm volatile("movdqu %%xmm3, %0" : "=m" ((ctx)->sse[3])); \ ++ __asm__ volatile("movdqu %%xmm0, %0" : "=m" ((ctx)->sse[0])); \ ++ __asm__ volatile("movdqu %%xmm1, %0" : "=m" ((ctx)->sse[1])); \ ++ __asm__ volatile("movdqu %%xmm2, %0" : "=m" ((ctx)->sse[2])); \ ++ __asm__ volatile("movdqu %%xmm3, %0" : "=m" ((ctx)->sse[3])); \ + } + + static void +@@ -104,21 +104,21 @@ fletcher_4_sse2_native(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) + + FLETCHER_4_SSE_RESTORE_CTX(ctx); + +- asm volatile("pxor %xmm4, %xmm4"); ++ __asm__ volatile("pxor %xmm4, %xmm4"); + + do { +- asm volatile("movdqu %0, %%xmm5" :: "m"(*ip)); +- asm volatile("movdqa %xmm5, %xmm6"); +- asm volatile("punpckldq %xmm4, %xmm5"); +- asm volatile("punpckhdq %xmm4, %xmm6"); +- asm volatile("paddq %xmm5, %xmm0"); +- asm volatile("paddq %xmm0, %xmm1"); +- asm volatile("paddq %xmm1, %xmm2"); +- asm volatile("paddq %xmm2, %xmm3"); +- asm volatile("paddq %xmm6, %xmm0"); +- asm volatile("paddq %xmm0, %xmm1"); +- asm volatile("paddq %xmm1, %xmm2"); +- asm volatile("paddq %xmm2, %xmm3"); ++ __asm__ volatile("movdqu %0, %%xmm5" :: "m"(*ip)); ++ __asm__ volatile("movdqa %xmm5, %xmm6"); ++ __asm__ volatile("punpckldq %xmm4, %xmm5"); ++ __asm__ volatile("punpckhdq %xmm4, %xmm6"); ++ __asm__ volatile("paddq %xmm5, %xmm0"); ++ __asm__ volatile("paddq %xmm0, %xmm1"); ++ __asm__ volatile("paddq %xmm1, %xmm2"); ++ __asm__ volatile("paddq %xmm2, %xmm3"); ++ __asm__ volatile("paddq %xmm6, %xmm0"); ++ __asm__ volatile("paddq %xmm0, %xmm1"); ++ __asm__ volatile("paddq %xmm1, %xmm2"); ++ __asm__ volatile("paddq %xmm2, %xmm3"); + } while ((ip += 2) < ipend); + + FLETCHER_4_SSE_SAVE_CTX(ctx); +@@ -135,13 +135,13 @@ fletcher_4_sse2_byteswap(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) + do { + uint32_t scratch1 = BSWAP_32(ip[0]); + uint32_t scratch2 = BSWAP_32(ip[1]); +- asm volatile("movd %0, %%xmm5" :: "r"(scratch1)); +- asm volatile("movd %0, %%xmm6" :: "r"(scratch2)); +- asm volatile("punpcklqdq %xmm6, %xmm5"); +- asm volatile("paddq %xmm5, %xmm0"); +- asm volatile("paddq %xmm0, %xmm1"); +- asm volatile("paddq %xmm1, %xmm2"); +- asm volatile("paddq %xmm2, %xmm3"); ++ __asm__ volatile("movd %0, %%xmm5" :: "r"(scratch1)); ++ __asm__ volatile("movd %0, %%xmm6" :: "r"(scratch2)); ++ __asm__ volatile("punpcklqdq %xmm6, %xmm5"); ++ __asm__ volatile("paddq %xmm5, %xmm0"); ++ __asm__ volatile("paddq %xmm0, %xmm1"); ++ __asm__ volatile("paddq %xmm1, %xmm2"); ++ __asm__ volatile("paddq %xmm2, %xmm3"); + } while ((ip += 2) < ipend); + + FLETCHER_4_SSE_SAVE_CTX(ctx); +@@ -179,23 +179,23 @@ fletcher_4_ssse3_byteswap(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) + + FLETCHER_4_SSE_RESTORE_CTX(ctx); + +- asm volatile("movdqu %0, %%xmm7"::"m" (mask)); +- asm volatile("pxor %xmm4, %xmm4"); ++ __asm__ volatile("movdqu %0, %%xmm7"::"m" (mask)); ++ __asm__ volatile("pxor %xmm4, %xmm4"); + + do { +- asm volatile("movdqu %0, %%xmm5"::"m" (*ip)); +- asm volatile("pshufb %xmm7, %xmm5"); +- asm volatile("movdqa %xmm5, %xmm6"); +- asm volatile("punpckldq %xmm4, %xmm5"); +- asm volatile("punpckhdq %xmm4, %xmm6"); +- asm volatile("paddq %xmm5, %xmm0"); +- asm volatile("paddq %xmm0, %xmm1"); +- asm volatile("paddq %xmm1, %xmm2"); +- asm volatile("paddq %xmm2, %xmm3"); +- asm volatile("paddq %xmm6, %xmm0"); +- asm volatile("paddq %xmm0, %xmm1"); +- asm volatile("paddq %xmm1, %xmm2"); +- asm volatile("paddq %xmm2, %xmm3"); ++ __asm__ volatile("movdqu %0, %%xmm5"::"m" (*ip)); ++ __asm__ volatile("pshufb %xmm7, %xmm5"); ++ __asm__ volatile("movdqa %xmm5, %xmm6"); ++ __asm__ volatile("punpckldq %xmm4, %xmm5"); ++ __asm__ volatile("punpckhdq %xmm4, %xmm6"); ++ __asm__ volatile("paddq %xmm5, %xmm0"); ++ __asm__ volatile("paddq %xmm0, %xmm1"); ++ __asm__ volatile("paddq %xmm1, %xmm2"); ++ __asm__ volatile("paddq %xmm2, %xmm3"); ++ __asm__ volatile("paddq %xmm6, %xmm0"); ++ __asm__ volatile("paddq %xmm0, %xmm1"); ++ __asm__ volatile("paddq %xmm1, %xmm2"); ++ __asm__ volatile("paddq %xmm2, %xmm3"); + } while ((ip += 2) < ipend); + + FLETCHER_4_SSE_SAVE_CTX(ctx); +-- +2.37.3 + diff --git a/pkg/zfs/patch/0004-Use-__asm__-instead-of-asm-to-compile-with-std-c99.patch b/pkg/zfs/patch/0004-Use-__asm__-instead-of-asm-to-compile-with-std-c99.patch @@ -1,221 +0,0 @@ -From 6f50ce7e45a1d35ed170a22c7b465445cc5437fa Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Tue, 17 Jan 2023 13:07:11 -0800 -Subject: [PATCH] Use __asm__ instead of asm to compile with -std=c99 - ---- - module/zcommon/zfs_fletcher_intel.c | 44 +++++++-------- - module/zcommon/zfs_fletcher_sse.c | 86 ++++++++++++++--------------- - 2 files changed, 65 insertions(+), 65 deletions(-) - -diff --git a/module/zcommon/zfs_fletcher_intel.c b/module/zcommon/zfs_fletcher_intel.c -index 5136a01ec..14eecb192 100644 ---- a/module/zcommon/zfs_fletcher_intel.c -+++ b/module/zcommon/zfs_fletcher_intel.c -@@ -83,18 +83,18 @@ fletcher_4_avx2_fini(fletcher_4_ctx_t *ctx, zio_cksum_t *zcp) - - #define FLETCHER_4_AVX2_RESTORE_CTX(ctx) \ - { \ -- asm volatile("vmovdqu %0, %%ymm0" :: "m" ((ctx)->avx[0])); \ -- asm volatile("vmovdqu %0, %%ymm1" :: "m" ((ctx)->avx[1])); \ -- asm volatile("vmovdqu %0, %%ymm2" :: "m" ((ctx)->avx[2])); \ -- asm volatile("vmovdqu %0, %%ymm3" :: "m" ((ctx)->avx[3])); \ -+ __asm__ volatile("vmovdqu %0, %%ymm0" :: "m" ((ctx)->avx[0])); \ -+ __asm__ volatile("vmovdqu %0, %%ymm1" :: "m" ((ctx)->avx[1])); \ -+ __asm__ volatile("vmovdqu %0, %%ymm2" :: "m" ((ctx)->avx[2])); \ -+ __asm__ volatile("vmovdqu %0, %%ymm3" :: "m" ((ctx)->avx[3])); \ - } - - #define FLETCHER_4_AVX2_SAVE_CTX(ctx) \ - { \ -- asm volatile("vmovdqu %%ymm0, %0" : "=m" ((ctx)->avx[0])); \ -- asm volatile("vmovdqu %%ymm1, %0" : "=m" ((ctx)->avx[1])); \ -- asm volatile("vmovdqu %%ymm2, %0" : "=m" ((ctx)->avx[2])); \ -- asm volatile("vmovdqu %%ymm3, %0" : "=m" ((ctx)->avx[3])); \ -+ __asm__ volatile("vmovdqu %%ymm0, %0" : "=m" ((ctx)->avx[0])); \ -+ __asm__ volatile("vmovdqu %%ymm1, %0" : "=m" ((ctx)->avx[1])); \ -+ __asm__ volatile("vmovdqu %%ymm2, %0" : "=m" ((ctx)->avx[2])); \ -+ __asm__ volatile("vmovdqu %%ymm3, %0" : "=m" ((ctx)->avx[3])); \ - } - - -@@ -109,15 +109,15 @@ fletcher_4_avx2_native(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) - FLETCHER_4_AVX2_RESTORE_CTX(ctx); - - for (; ip < ipend; ip += 2) { -- asm volatile("vpmovzxdq %0, %%ymm4"::"m" (*ip)); -- asm volatile("vpaddq %ymm4, %ymm0, %ymm0"); -- asm volatile("vpaddq %ymm0, %ymm1, %ymm1"); -- asm volatile("vpaddq %ymm1, %ymm2, %ymm2"); -- asm volatile("vpaddq %ymm2, %ymm3, %ymm3"); -+ __asm__ volatile("vpmovzxdq %0, %%ymm4"::"m" (*ip)); -+ __asm__ volatile("vpaddq %ymm4, %ymm0, %ymm0"); -+ __asm__ volatile("vpaddq %ymm0, %ymm1, %ymm1"); -+ __asm__ volatile("vpaddq %ymm1, %ymm2, %ymm2"); -+ __asm__ volatile("vpaddq %ymm2, %ymm3, %ymm3"); - } - - FLETCHER_4_AVX2_SAVE_CTX(ctx); -- asm volatile("vzeroupper"); -+ __asm__ volatile("vzeroupper"); - - kfpu_end(); - } -@@ -136,20 +136,20 @@ fletcher_4_avx2_byteswap(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) - - FLETCHER_4_AVX2_RESTORE_CTX(ctx); - -- asm volatile("vmovdqu %0, %%ymm5" :: "m" (mask)); -+ __asm__ volatile("vmovdqu %0, %%ymm5" :: "m" (mask)); - - for (; ip < ipend; ip += 2) { -- asm volatile("vpmovzxdq %0, %%ymm4"::"m" (*ip)); -- asm volatile("vpshufb %ymm5, %ymm4, %ymm4"); -+ __asm__ volatile("vpmovzxdq %0, %%ymm4"::"m" (*ip)); -+ __asm__ volatile("vpshufb %ymm5, %ymm4, %ymm4"); - -- asm volatile("vpaddq %ymm4, %ymm0, %ymm0"); -- asm volatile("vpaddq %ymm0, %ymm1, %ymm1"); -- asm volatile("vpaddq %ymm1, %ymm2, %ymm2"); -- asm volatile("vpaddq %ymm2, %ymm3, %ymm3"); -+ __asm__ volatile("vpaddq %ymm4, %ymm0, %ymm0"); -+ __asm__ volatile("vpaddq %ymm0, %ymm1, %ymm1"); -+ __asm__ volatile("vpaddq %ymm1, %ymm2, %ymm2"); -+ __asm__ volatile("vpaddq %ymm2, %ymm3, %ymm3"); - } - - FLETCHER_4_AVX2_SAVE_CTX(ctx); -- asm volatile("vzeroupper"); -+ __asm__ volatile("vzeroupper"); - - kfpu_end(); - } -diff --git a/module/zcommon/zfs_fletcher_sse.c b/module/zcommon/zfs_fletcher_sse.c -index 15ce9b07f..3aca5485d 100644 ---- a/module/zcommon/zfs_fletcher_sse.c -+++ b/module/zcommon/zfs_fletcher_sse.c -@@ -82,18 +82,18 @@ fletcher_4_sse2_fini(fletcher_4_ctx_t *ctx, zio_cksum_t *zcp) - - #define FLETCHER_4_SSE_RESTORE_CTX(ctx) \ - { \ -- asm volatile("movdqu %0, %%xmm0" :: "m" ((ctx)->sse[0])); \ -- asm volatile("movdqu %0, %%xmm1" :: "m" ((ctx)->sse[1])); \ -- asm volatile("movdqu %0, %%xmm2" :: "m" ((ctx)->sse[2])); \ -- asm volatile("movdqu %0, %%xmm3" :: "m" ((ctx)->sse[3])); \ -+ __asm__ volatile("movdqu %0, %%xmm0" :: "m" ((ctx)->sse[0])); \ -+ __asm__ volatile("movdqu %0, %%xmm1" :: "m" ((ctx)->sse[1])); \ -+ __asm__ volatile("movdqu %0, %%xmm2" :: "m" ((ctx)->sse[2])); \ -+ __asm__ volatile("movdqu %0, %%xmm3" :: "m" ((ctx)->sse[3])); \ - } - - #define FLETCHER_4_SSE_SAVE_CTX(ctx) \ - { \ -- asm volatile("movdqu %%xmm0, %0" : "=m" ((ctx)->sse[0])); \ -- asm volatile("movdqu %%xmm1, %0" : "=m" ((ctx)->sse[1])); \ -- asm volatile("movdqu %%xmm2, %0" : "=m" ((ctx)->sse[2])); \ -- asm volatile("movdqu %%xmm3, %0" : "=m" ((ctx)->sse[3])); \ -+ __asm__ volatile("movdqu %%xmm0, %0" : "=m" ((ctx)->sse[0])); \ -+ __asm__ volatile("movdqu %%xmm1, %0" : "=m" ((ctx)->sse[1])); \ -+ __asm__ volatile("movdqu %%xmm2, %0" : "=m" ((ctx)->sse[2])); \ -+ __asm__ volatile("movdqu %%xmm3, %0" : "=m" ((ctx)->sse[3])); \ - } - - static void -@@ -106,21 +106,21 @@ fletcher_4_sse2_native(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) - - FLETCHER_4_SSE_RESTORE_CTX(ctx); - -- asm volatile("pxor %xmm4, %xmm4"); -+ __asm__ volatile("pxor %xmm4, %xmm4"); - - for (; ip < ipend; ip += 2) { -- asm volatile("movdqu %0, %%xmm5" :: "m"(*ip)); -- asm volatile("movdqa %xmm5, %xmm6"); -- asm volatile("punpckldq %xmm4, %xmm5"); -- asm volatile("punpckhdq %xmm4, %xmm6"); -- asm volatile("paddq %xmm5, %xmm0"); -- asm volatile("paddq %xmm0, %xmm1"); -- asm volatile("paddq %xmm1, %xmm2"); -- asm volatile("paddq %xmm2, %xmm3"); -- asm volatile("paddq %xmm6, %xmm0"); -- asm volatile("paddq %xmm0, %xmm1"); -- asm volatile("paddq %xmm1, %xmm2"); -- asm volatile("paddq %xmm2, %xmm3"); -+ __asm__ volatile("movdqu %0, %%xmm5" :: "m"(*ip)); -+ __asm__ volatile("movdqa %xmm5, %xmm6"); -+ __asm__ volatile("punpckldq %xmm4, %xmm5"); -+ __asm__ volatile("punpckhdq %xmm4, %xmm6"); -+ __asm__ volatile("paddq %xmm5, %xmm0"); -+ __asm__ volatile("paddq %xmm0, %xmm1"); -+ __asm__ volatile("paddq %xmm1, %xmm2"); -+ __asm__ volatile("paddq %xmm2, %xmm3"); -+ __asm__ volatile("paddq %xmm6, %xmm0"); -+ __asm__ volatile("paddq %xmm0, %xmm1"); -+ __asm__ volatile("paddq %xmm1, %xmm2"); -+ __asm__ volatile("paddq %xmm2, %xmm3"); - } - - FLETCHER_4_SSE_SAVE_CTX(ctx); -@@ -141,13 +141,13 @@ fletcher_4_sse2_byteswap(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) - for (; ip < ipend; ip += 2) { - uint32_t scratch1 = BSWAP_32(ip[0]); - uint32_t scratch2 = BSWAP_32(ip[1]); -- asm volatile("movd %0, %%xmm5" :: "r"(scratch1)); -- asm volatile("movd %0, %%xmm6" :: "r"(scratch2)); -- asm volatile("punpcklqdq %xmm6, %xmm5"); -- asm volatile("paddq %xmm5, %xmm0"); -- asm volatile("paddq %xmm0, %xmm1"); -- asm volatile("paddq %xmm1, %xmm2"); -- asm volatile("paddq %xmm2, %xmm3"); -+ __asm__ volatile("movd %0, %%xmm5" :: "r"(scratch1)); -+ __asm__ volatile("movd %0, %%xmm6" :: "r"(scratch2)); -+ __asm__ volatile("punpcklqdq %xmm6, %xmm5"); -+ __asm__ volatile("paddq %xmm5, %xmm0"); -+ __asm__ volatile("paddq %xmm0, %xmm1"); -+ __asm__ volatile("paddq %xmm1, %xmm2"); -+ __asm__ volatile("paddq %xmm2, %xmm3"); - } - - FLETCHER_4_SSE_SAVE_CTX(ctx); -@@ -188,23 +188,23 @@ fletcher_4_ssse3_byteswap(fletcher_4_ctx_t *ctx, const void *buf, uint64_t size) - - FLETCHER_4_SSE_RESTORE_CTX(ctx); - -- asm volatile("movdqu %0, %%xmm7"::"m" (mask)); -- asm volatile("pxor %xmm4, %xmm4"); -+ __asm__ volatile("movdqu %0, %%xmm7"::"m" (mask)); -+ __asm__ volatile("pxor %xmm4, %xmm4"); - - for (; ip < ipend; ip += 2) { -- asm volatile("movdqu %0, %%xmm5"::"m" (*ip)); -- asm volatile("pshufb %xmm7, %xmm5"); -- asm volatile("movdqa %xmm5, %xmm6"); -- asm volatile("punpckldq %xmm4, %xmm5"); -- asm volatile("punpckhdq %xmm4, %xmm6"); -- asm volatile("paddq %xmm5, %xmm0"); -- asm volatile("paddq %xmm0, %xmm1"); -- asm volatile("paddq %xmm1, %xmm2"); -- asm volatile("paddq %xmm2, %xmm3"); -- asm volatile("paddq %xmm6, %xmm0"); -- asm volatile("paddq %xmm0, %xmm1"); -- asm volatile("paddq %xmm1, %xmm2"); -- asm volatile("paddq %xmm2, %xmm3"); -+ __asm__ volatile("movdqu %0, %%xmm5"::"m" (*ip)); -+ __asm__ volatile("pshufb %xmm7, %xmm5"); -+ __asm__ volatile("movdqa %xmm5, %xmm6"); -+ __asm__ volatile("punpckldq %xmm4, %xmm5"); -+ __asm__ volatile("punpckhdq %xmm4, %xmm6"); -+ __asm__ volatile("paddq %xmm5, %xmm0"); -+ __asm__ volatile("paddq %xmm0, %xmm1"); -+ __asm__ volatile("paddq %xmm1, %xmm2"); -+ __asm__ volatile("paddq %xmm2, %xmm3"); -+ __asm__ volatile("paddq %xmm6, %xmm0"); -+ __asm__ volatile("paddq %xmm0, %xmm1"); -+ __asm__ volatile("paddq %xmm1, %xmm2"); -+ __asm__ volatile("paddq %xmm2, %xmm3"); - } - - FLETCHER_4_SSE_SAVE_CTX(ctx); --- -2.37.3 - diff --git a/pkg/zfs/patch/0004-Use-__func__-instead-of-obsolete-and-non-standard-__.patch b/pkg/zfs/patch/0004-Use-__func__-instead-of-obsolete-and-non-standard-__.patch @@ -0,0 +1,402 @@ +From 3b0d7aec7e04881005dcf07f12054cc65c2d3587 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Sat, 21 Jan 2023 17:12:32 -0800 +Subject: [PATCH] Use __func__ instead of obsolete and non-standard + __FUNCTION__ + +--- + include/os/freebsd/spl/sys/debug.h | 18 +++++++++--------- + include/os/linux/spl/sys/debug.h | 18 +++++++++--------- + lib/libspl/include/assert.h | 18 +++++++++--------- + module/os/freebsd/zfs/crypto_os.c | 22 +++++++++++----------- + module/os/freebsd/zfs/zfs_vfsops.c | 4 ++-- + module/os/freebsd/zfs/zio_crypt.c | 6 +++--- + 6 files changed, 43 insertions(+), 43 deletions(-) + +diff --git a/include/os/freebsd/spl/sys/debug.h b/include/os/freebsd/spl/sys/debug.h +index 3e67cf0e9..4bb62224e 100644 +--- a/include/os/freebsd/spl/sys/debug.h ++++ b/include/os/freebsd/spl/sys/debug.h +@@ -75,18 +75,18 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + #define unlikely(expr) expect((expr) != 0, 0) + + #define PANIC(fmt, a...) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, fmt, ## a) ++ spl_panic(__FILE__, __func__, __LINE__, fmt, ## a) + + #define VERIFY(cond) \ + (void) (unlikely(!(cond)) && \ + spl_assert("VERIFY(" #cond ") failed\n", \ +- __FILE__, __FUNCTION__, __LINE__)) ++ __FILE__, __func__, __LINE__)) + + #define VERIFY3B(LEFT, OP, RIGHT) do { \ + const boolean_t _verify3_left = (boolean_t)(LEFT); \ + const boolean_t _verify3_right = (boolean_t)(RIGHT); \ + if (unlikely(!(_verify3_left OP _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ + "failed (%d " #OP " %d)\n", \ + (boolean_t)(_verify3_left), \ +@@ -97,7 +97,7 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + const int64_t _verify3_left = (int64_t)(LEFT); \ + const int64_t _verify3_right = (int64_t)(RIGHT); \ + if (unlikely(!(_verify3_left OP _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ + "failed (%lld " #OP " %lld)\n", \ + (long long) (_verify3_left), \ +@@ -108,7 +108,7 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + const uint64_t _verify3_left = (uint64_t)(LEFT); \ + const uint64_t _verify3_right = (uint64_t)(RIGHT); \ + if (unlikely(!(_verify3_left OP _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ + "failed (%llu " #OP " %llu)\n", \ + (unsigned long long) (_verify3_left), \ +@@ -119,7 +119,7 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + const uintptr_t _verify3_left = (uintptr_t)(LEFT); \ + const uintptr_t _verify3_right = (uintptr_t)(RIGHT); \ + if (unlikely(!(_verify3_left OP _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ + "failed (%px " #OP " %px)\n", \ + (void *) (_verify3_left), \ +@@ -130,7 +130,7 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + const int64_t _verify3_left = (int64_t)(0); \ + const int64_t _verify3_right = (int64_t)(RIGHT); \ + if (unlikely(!(_verify3_left == _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY0(0 == " #RIGHT ") " \ + "failed (0 == %lld)\n", \ + (long long) (_verify3_right)); \ +@@ -170,11 +170,11 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + #define IMPLY(A, B) \ + ((void)(likely((!(A)) || (B)) || \ + spl_assert("(" #A ") implies (" #B ")", \ +- __FILE__, __FUNCTION__, __LINE__))) ++ __FILE__, __func__, __LINE__))) + #define EQUIV(A, B) \ + ((void)(likely(!!(A) == !!(B)) || \ + spl_assert("(" #A ") is equivalent to (" #B ")", \ +- __FILE__, __FUNCTION__, __LINE__))) ++ __FILE__, __func__, __LINE__))) + + + #endif /* NDEBUG */ +diff --git a/include/os/linux/spl/sys/debug.h b/include/os/linux/spl/sys/debug.h +index 007238574..ff5d65b0f 100644 +--- a/include/os/linux/spl/sys/debug.h ++++ b/include/os/linux/spl/sys/debug.h +@@ -79,18 +79,18 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + } + + #define PANIC(fmt, a...) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, fmt, ## a) ++ spl_panic(__FILE__, __func__, __LINE__, fmt, ## a) + + #define VERIFY(cond) \ + (void) (unlikely(!(cond)) && \ + spl_assert("VERIFY(" #cond ") failed\n", \ +- __FILE__, __FUNCTION__, __LINE__)) ++ __FILE__, __func__, __LINE__)) + + #define VERIFY3B(LEFT, OP, RIGHT) do { \ + const boolean_t _verify3_left = (boolean_t)(LEFT); \ + const boolean_t _verify3_right = (boolean_t)(RIGHT); \ + if (unlikely(!(_verify3_left OP _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ + "failed (%d " #OP " %d)\n", \ + (boolean_t)(_verify3_left), \ +@@ -101,7 +101,7 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + const int64_t _verify3_left = (int64_t)(LEFT); \ + const int64_t _verify3_right = (int64_t)(RIGHT); \ + if (unlikely(!(_verify3_left OP _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ + "failed (%lld " #OP " %lld)\n", \ + (long long)(_verify3_left), \ +@@ -112,7 +112,7 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + const uint64_t _verify3_left = (uint64_t)(LEFT); \ + const uint64_t _verify3_right = (uint64_t)(RIGHT); \ + if (unlikely(!(_verify3_left OP _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ + "failed (%llu " #OP " %llu)\n", \ + (unsigned long long)(_verify3_left), \ +@@ -123,7 +123,7 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + const uintptr_t _verify3_left = (uintptr_t)(LEFT); \ + const uintptr_t _verify3_right = (uintptr_t)(RIGHT); \ + if (unlikely(!(_verify3_left OP _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ + "failed (%px " #OP " %px)\n", \ + (void *) (_verify3_left), \ +@@ -134,7 +134,7 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + const int64_t _verify3_left = (int64_t)(0); \ + const int64_t _verify3_right = (int64_t)(RIGHT); \ + if (unlikely(!(_verify3_left == _verify3_right))) \ +- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ ++ spl_panic(__FILE__, __func__, __LINE__, \ + "VERIFY0(0 == " #RIGHT ") " \ + "failed (0 == %lld)\n", \ + (long long) (_verify3_right)); \ +@@ -143,12 +143,12 @@ spl_assert(const char *buf, const char *file, const char *func, int line) + #define VERIFY_IMPLY(A, B) \ + ((void)(likely((!(A)) || (B)) || \ + spl_assert("(" #A ") implies (" #B ")", \ +- __FILE__, __FUNCTION__, __LINE__))) ++ __FILE__, __func__, __LINE__))) + + #define VERIFY_EQUIV(A, B) \ + ((void)(likely(!!(A) == !!(B)) || \ + spl_assert("(" #A ") is equivalent to (" #B ")", \ +- __FILE__, __FUNCTION__, __LINE__))) ++ __FILE__, __func__, __LINE__))) + + /* + * Debugging disabled (--disable-debug) +diff --git a/lib/libspl/include/assert.h b/lib/libspl/include/assert.h +index af4957dfb..c3a06c119 100644 +--- a/lib/libspl/include/assert.h ++++ b/lib/libspl/include/assert.h +@@ -69,17 +69,17 @@ libspl_assert(const char *buf, const char *file, const char *func, int line) + + #define VERIFY(cond) \ + (void) ((!(cond)) && \ +- libspl_assert(#cond, __FILE__, __FUNCTION__, __LINE__)) ++ libspl_assert(#cond, __FILE__, __func__, __LINE__)) + #define verify(cond) \ + (void) ((!(cond)) && \ +- libspl_assert(#cond, __FILE__, __FUNCTION__, __LINE__)) ++ libspl_assert(#cond, __FILE__, __func__, __LINE__)) + + #define VERIFY3B(LEFT, OP, RIGHT) \ + do { \ + const boolean_t __left = (boolean_t)(LEFT); \ + const boolean_t __right = (boolean_t)(RIGHT); \ + if (!(__left OP __right)) \ +- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ ++ libspl_assertf(__FILE__, __func__, __LINE__, \ + "%s %s %s (0x%llx %s 0x%llx)", #LEFT, #OP, #RIGHT, \ + (u_longlong_t)__left, #OP, (u_longlong_t)__right); \ + } while (0) +@@ -89,7 +89,7 @@ do { \ + const int64_t __left = (int64_t)(LEFT); \ + const int64_t __right = (int64_t)(RIGHT); \ + if (!(__left OP __right)) \ +- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ ++ libspl_assertf(__FILE__, __func__, __LINE__, \ + "%s %s %s (0x%llx %s 0x%llx)", #LEFT, #OP, #RIGHT, \ + (u_longlong_t)__left, #OP, (u_longlong_t)__right); \ + } while (0) +@@ -99,7 +99,7 @@ do { \ + const uint64_t __left = (uint64_t)(LEFT); \ + const uint64_t __right = (uint64_t)(RIGHT); \ + if (!(__left OP __right)) \ +- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ ++ libspl_assertf(__FILE__, __func__, __LINE__, \ + "%s %s %s (0x%llx %s 0x%llx)", #LEFT, #OP, #RIGHT, \ + (u_longlong_t)__left, #OP, (u_longlong_t)__right); \ + } while (0) +@@ -109,7 +109,7 @@ do { \ + const uintptr_t __left = (uintptr_t)(LEFT); \ + const uintptr_t __right = (uintptr_t)(RIGHT); \ + if (!(__left OP __right)) \ +- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ ++ libspl_assertf(__FILE__, __func__, __LINE__, \ + "%s %s %s (0x%llx %s 0x%llx)", #LEFT, #OP, #RIGHT, \ + (u_longlong_t)__left, #OP, (u_longlong_t)__right); \ + } while (0) +@@ -118,7 +118,7 @@ do { \ + do { \ + const uint64_t __left = (uint64_t)(LEFT); \ + if (!(__left == 0)) \ +- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ ++ libspl_assertf(__FILE__, __func__, __LINE__, \ + "%s == 0 (0x%llx == 0)", #LEFT, \ + (u_longlong_t)__left); \ + } while (0) +@@ -154,11 +154,11 @@ do { \ + #define IMPLY(A, B) \ + ((void)(((!(A)) || (B)) || \ + libspl_assert("(" #A ") implies (" #B ")", \ +- __FILE__, __FUNCTION__, __LINE__))) ++ __FILE__, __func__, __LINE__))) + #define EQUIV(A, B) \ + ((void)((!!(A) == !!(B)) || \ + libspl_assert("(" #A ") is equivalent to (" #B ")", \ +- __FILE__, __FUNCTION__, __LINE__))) ++ __FILE__, __func__, __LINE__))) + + #endif /* NDEBUG */ + +diff --git a/module/os/freebsd/zfs/crypto_os.c b/module/os/freebsd/zfs/crypto_os.c +index 1f139ea5b..c945a155f 100644 +--- a/module/os/freebsd/zfs/crypto_os.c ++++ b/module/os/freebsd/zfs/crypto_os.c +@@ -227,7 +227,7 @@ freebsd_crypt_uio_debug_log(boolean_t encrypt, + + printf("%s(%s, %p, { %s, %d, %d, %s }, %p, { %p, %u }, " + "%p, %u, %u)\n", +- __FUNCTION__, encrypt ? "encrypt" : "decrypt", input_sessionp, ++ __func__, encrypt ? "encrypt" : "decrypt", input_sessionp, + c_info->ci_algname, c_info->ci_crypt_type, + (unsigned int)c_info->ci_keylen, c_info->ci_name, + data_uio, key->ck_data, +@@ -263,7 +263,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, + + #ifdef FCRYPTO_DEBUG + printf("%s(%p, { %s, %d, %d, %s }, { %p, %u })\n", +- __FUNCTION__, sessp, ++ __func__, sessp, + c_info->ci_algname, c_info->ci_crypt_type, + (unsigned int)c_info->ci_keylen, c_info->ci_name, + key->ck_data, (unsigned int)key->ck_length); +@@ -328,7 +328,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, + bad: + #ifdef FCRYPTO_DEBUG + if (error) +- printf("%s: returning error %d\n", __FUNCTION__, error); ++ printf("%s: returning error %d\n", __func__, error); + #endif + return (error); + } +@@ -384,7 +384,7 @@ freebsd_crypt_uio(boolean_t encrypt, + out: + #ifdef FCRYPTO_DEBUG + if (error) +- printf("%s: returning error %d\n", __FUNCTION__, error); ++ printf("%s: returning error %d\n", __func__, error); + #endif + if (input_sessionp == NULL) { + freebsd_crypt_freesession(session); +@@ -406,7 +406,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, + + #ifdef FCRYPTO_DEBUG + printf("%s(%p, { %s, %d, %d, %s }, { %p, %u })\n", +- __FUNCTION__, sessp, ++ __func__, sessp, + c_info->ci_algname, c_info->ci_crypt_type, + (unsigned int)c_info->ci_keylen, c_info->ci_name, + key->ck_data, (unsigned int)key->ck_length); +@@ -460,7 +460,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, + #ifdef FCRYPTO_DEBUG + printf("%s(%d): Using crypt %s (key length %u [%u bytes]), " + "auth %s (key length %d)\n", +- __FUNCTION__, __LINE__, ++ __func__, __LINE__, + xform->name, (unsigned int)key->ck_length, + (unsigned int)key->ck_length/8, + xauth->name, xauth->keysize); +@@ -483,7 +483,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, + CRYPTOCAP_F_HARDWARE | CRYPTOCAP_F_SOFTWARE); + if (error != 0) { + printf("%s(%d): crypto_newsession failed with %d\n", +- __FUNCTION__, __LINE__, error); ++ __func__, __LINE__, error); + goto bad; + } + sessp->fs_sid = sid; +@@ -563,7 +563,7 @@ freebsd_crypt_uio(boolean_t encrypt, + #ifdef FCRYPTO_DEBUG + printf("%s(%d): Using crypt %s (key length %u [%u bytes]), " + "auth %s (key length %d)\n", +- __FUNCTION__, __LINE__, ++ __func__, __LINE__, + xform->name, (unsigned int)key->ck_length, + (unsigned int)key->ck_length/8, + xauth->name, xauth->keysize); +@@ -597,7 +597,7 @@ freebsd_crypt_uio(boolean_t encrypt, + auth_desc->crd_alg = xauth->type; + #ifdef FCRYPTO_DEBUG + printf("%s: auth: skip = %u, len = %u, inject = %u\n", +- __FUNCTION__, auth_desc->crd_skip, auth_desc->crd_len, ++ __func__, auth_desc->crd_skip, auth_desc->crd_len, + auth_desc->crd_inject); + #endif + +@@ -611,7 +611,7 @@ freebsd_crypt_uio(boolean_t encrypt, + + #ifdef FCRYPTO_DEBUG + printf("%s: enc: skip = %u, len = %u, inject = %u\n", +- __FUNCTION__, enc_desc->crd_skip, enc_desc->crd_len, ++ __func__, enc_desc->crd_skip, enc_desc->crd_len, + enc_desc->crd_inject); + #endif + +@@ -628,7 +628,7 @@ out: + bad: + #ifdef FCRYPTO_DEBUG + if (error) +- printf("%s: returning error %d\n", __FUNCTION__, error); ++ printf("%s: returning error %d\n", __func__, error); + #endif + return (error); + } +diff --git a/module/os/freebsd/zfs/zfs_vfsops.c b/module/os/freebsd/zfs/zfs_vfsops.c +index a972c720d..2d54636bb 100644 +--- a/module/os/freebsd/zfs/zfs_vfsops.c ++++ b/module/os/freebsd/zfs/zfs_vfsops.c +@@ -262,7 +262,7 @@ zfs_getquota(zfsvfs_t *zfsvfs, uid_t id, int isgroup, struct dqblk64 *dqp) + if ((error = zap_lookup(zfsvfs->z_os, quotaobj, + buf, sizeof (quota), 1, &quota)) != 0) { + dprintf("%s(%d): quotaobj lookup failed\n", +- __FUNCTION__, __LINE__); ++ __func__, __LINE__); + goto done; + } + /* +@@ -273,7 +273,7 @@ zfs_getquota(zfsvfs_t *zfsvfs, uid_t id, int isgroup, struct dqblk64 *dqp) + error = zap_lookup(zfsvfs->z_os, usedobj, buf, sizeof (used), 1, &used); + if (error && error != ENOENT) { + dprintf("%s(%d): usedobj failed; %d\n", +- __FUNCTION__, __LINE__, error); ++ __func__, __LINE__, error); + goto done; + } + dqp->dqb_curblocks = btodb(used); +diff --git a/module/os/freebsd/zfs/zio_crypt.c b/module/os/freebsd/zfs/zio_crypt.c +index b08916b31..204666957 100644 +--- a/module/os/freebsd/zfs/zio_crypt.c ++++ b/module/os/freebsd/zfs/zio_crypt.c +@@ -409,7 +409,7 @@ zio_do_crypt_uio_opencrypto(boolean_t encrypt, freebsd_crypt_session_t *sess, + if (ret != 0) { + #ifdef FCRYPTO_DEBUG + printf("%s(%d): Returning error %s\n", +- __FUNCTION__, __LINE__, encrypt ? "EIO" : "ECKSUM"); ++ __func__, __LINE__, encrypt ? "EIO" : "ECKSUM"); + #endif + ret = SET_ERROR(encrypt ? EIO : ECKSUM); + } +@@ -1176,7 +1176,7 @@ zio_crypt_do_indirect_mac_checksum_impl(boolean_t generate, void *buf, + + if (memcmp(digestbuf, cksum, ZIO_DATA_MAC_LEN) != 0) { + #ifdef FCRYPTO_DEBUG +- printf("%s(%d): Setting ECKSUM\n", __FUNCTION__, __LINE__); ++ printf("%s(%d): Setting ECKSUM\n", __func__, __LINE__); + #endif + return (SET_ERROR(ECKSUM)); + } +@@ -1700,7 +1700,7 @@ zio_do_crypt_data(boolean_t encrypt, zio_crypt_key_t *key, + + #ifdef FCRYPTO_DEBUG + printf("%s(%s, %p, %p, %d, %p, %p, %u, %s, %p, %p, %p)\n", +- __FUNCTION__, ++ __func__, + encrypt ? "encrypt" : "decrypt", + key, salt, ot, iv, mac, datalen, + byteswap ? "byteswap" : "native_endian", plainbuf, +-- +2.37.3 + diff --git a/pkg/zfs/patch/0005-Use-__func__-instead-of-obsolete-and-non-standard-__.patch b/pkg/zfs/patch/0005-Use-__func__-instead-of-obsolete-and-non-standard-__.patch @@ -1,401 +0,0 @@ -From 35e48da3329aff4eee7bb3ff2ddd81d982cfa307 Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Sat, 21 Jan 2023 17:12:32 -0800 -Subject: [PATCH] Use __func__ instead of obsolete and non-standard - __FUNCTION__ - ---- - include/os/freebsd/spl/sys/debug.h | 18 +++++++++--------- - include/os/linux/spl/sys/debug.h | 18 +++++++++--------- - lib/libspl/include/assert.h | 18 +++++++++--------- - module/os/freebsd/zfs/crypto_os.c | 22 +++++++++++----------- - module/os/freebsd/zfs/zfs_vfsops.c | 4 ++-- - module/os/freebsd/zfs/zio_crypt.c | 6 +++--- - 6 files changed, 43 insertions(+), 43 deletions(-) - -diff --git a/include/os/freebsd/spl/sys/debug.h b/include/os/freebsd/spl/sys/debug.h -index 1f820bc33..a5c12daa5 100644 ---- a/include/os/freebsd/spl/sys/debug.h -+++ b/include/os/freebsd/spl/sys/debug.h -@@ -66,18 +66,18 @@ void spl_dumpstack(void); - - /* BEGIN CSTYLED */ - #define PANIC(fmt, a...) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, fmt, ## a) -+ spl_panic(__FILE__, __func__, __LINE__, fmt, ## a) - - #define VERIFY(cond) \ - (void) (unlikely(!(cond)) && \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "%s", "VERIFY(" #cond ") failed\n")) - - #define VERIFY3B(LEFT, OP, RIGHT) do { \ - const boolean_t _verify3_left = (boolean_t)(LEFT); \ - const boolean_t _verify3_right = (boolean_t)(RIGHT);\ - if (unlikely(!(_verify3_left OP _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ - "failed (%d " #OP " %d)\n", \ - (boolean_t) (_verify3_left), \ -@@ -88,7 +88,7 @@ void spl_dumpstack(void); - const int64_t _verify3_left = (int64_t)(LEFT); \ - const int64_t _verify3_right = (int64_t)(RIGHT); \ - if (unlikely(!(_verify3_left OP _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ - "failed (%lld " #OP " %lld)\n", \ - (long long) (_verify3_left), \ -@@ -99,7 +99,7 @@ void spl_dumpstack(void); - const uint64_t _verify3_left = (uint64_t)(LEFT); \ - const uint64_t _verify3_right = (uint64_t)(RIGHT); \ - if (unlikely(!(_verify3_left OP _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ - "failed (%llu " #OP " %llu)\n", \ - (unsigned long long) (_verify3_left), \ -@@ -110,7 +110,7 @@ void spl_dumpstack(void); - const uintptr_t _verify3_left = (uintptr_t)(LEFT); \ - const uintptr_t _verify3_right = (uintptr_t)(RIGHT);\ - if (unlikely(!(_verify3_left OP _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ - "failed (%px " #OP " %px)\n", \ - (void *) (_verify3_left), \ -@@ -121,7 +121,7 @@ void spl_dumpstack(void); - const int64_t _verify3_left = (int64_t)(0); \ - const int64_t _verify3_right = (int64_t)(RIGHT); \ - if (unlikely(!(_verify3_left == _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(0 == " #RIGHT ") " \ - "failed (0 == %lld)\n", \ - (long long) (_verify3_right)); \ -@@ -155,11 +155,11 @@ void spl_dumpstack(void); - #define ASSERT VERIFY - #define IMPLY(A, B) \ - ((void)(likely((!(A)) || (B)) || \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "(" #A ") implies (" #B ")"))) - #define EQUIV(A, B) \ - ((void)(likely(!!(A) == !!(B)) || \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "(" #A ") is equivalent to (" #B ")"))) - /* END CSTYLED */ - -diff --git a/include/os/linux/spl/sys/debug.h b/include/os/linux/spl/sys/debug.h -index dc6b85eeb..b46c174cd 100644 ---- a/include/os/linux/spl/sys/debug.h -+++ b/include/os/linux/spl/sys/debug.h -@@ -60,18 +60,18 @@ void spl_dumpstack(void); - - /* BEGIN CSTYLED */ - #define PANIC(fmt, a...) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, fmt, ## a) -+ spl_panic(__FILE__, __func__, __LINE__, fmt, ## a) - - #define VERIFY(cond) \ - (void) (unlikely(!(cond)) && \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "%s", "VERIFY(" #cond ") failed\n")) - - #define VERIFY3B(LEFT, OP, RIGHT) do { \ - const boolean_t _verify3_left = (boolean_t)(LEFT); \ - const boolean_t _verify3_right = (boolean_t)(RIGHT);\ - if (unlikely(!(_verify3_left OP _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ - "failed (%d " #OP " %d)\n", \ - (boolean_t) (_verify3_left), \ -@@ -82,7 +82,7 @@ void spl_dumpstack(void); - const int64_t _verify3_left = (int64_t)(LEFT); \ - const int64_t _verify3_right = (int64_t)(RIGHT); \ - if (unlikely(!(_verify3_left OP _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ - "failed (%lld " #OP " %lld)\n", \ - (long long) (_verify3_left), \ -@@ -93,7 +93,7 @@ void spl_dumpstack(void); - const uint64_t _verify3_left = (uint64_t)(LEFT); \ - const uint64_t _verify3_right = (uint64_t)(RIGHT); \ - if (unlikely(!(_verify3_left OP _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ - "failed (%llu " #OP " %llu)\n", \ - (unsigned long long) (_verify3_left), \ -@@ -104,7 +104,7 @@ void spl_dumpstack(void); - const uintptr_t _verify3_left = (uintptr_t)(LEFT); \ - const uintptr_t _verify3_right = (uintptr_t)(RIGHT);\ - if (unlikely(!(_verify3_left OP _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(" #LEFT " " #OP " " #RIGHT ") " \ - "failed (%px " #OP " %px)\n", \ - (void *) (_verify3_left), \ -@@ -115,7 +115,7 @@ void spl_dumpstack(void); - const int64_t _verify3_left = (int64_t)(0); \ - const int64_t _verify3_right = (int64_t)(RIGHT); \ - if (unlikely(!(_verify3_left == _verify3_right))) \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "VERIFY3(0 == " #RIGHT ") " \ - "failed (0 == %lld)\n", \ - (long long) (_verify3_right)); \ -@@ -155,11 +155,11 @@ void spl_dumpstack(void); - #define ASSERT VERIFY - #define IMPLY(A, B) \ - ((void)(likely((!(A)) || (B)) || \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "(" #A ") implies (" #B ")"))) - #define EQUIV(A, B) \ - ((void)(likely(!!(A) == !!(B)) || \ -- spl_panic(__FILE__, __FUNCTION__, __LINE__, \ -+ spl_panic(__FILE__, __func__, __LINE__, \ - "(" #A ") is equivalent to (" #B ")"))) - /* END CSTYLED */ - -diff --git a/lib/libspl/include/assert.h b/lib/libspl/include/assert.h -index 0503ce492..73f33077c 100644 ---- a/lib/libspl/include/assert.h -+++ b/lib/libspl/include/assert.h -@@ -53,17 +53,17 @@ libspl_assert(const char *buf, const char *file, const char *func, int line) - - #define VERIFY(cond) \ - (void) ((!(cond)) && \ -- libspl_assert(#cond, __FILE__, __FUNCTION__, __LINE__)) -+ libspl_assert(#cond, __FILE__, __func__, __LINE__)) - #define verify(cond) \ - (void) ((!(cond)) && \ -- libspl_assert(#cond, __FILE__, __FUNCTION__, __LINE__)) -+ libspl_assert(#cond, __FILE__, __func__, __LINE__)) - - #define VERIFY3B(LEFT, OP, RIGHT) \ - do { \ - const boolean_t __left = (boolean_t)(LEFT); \ - const boolean_t __right = (boolean_t)(RIGHT); \ - if (!(__left OP __right)) \ -- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ -+ libspl_assertf(__FILE__, __func__, __LINE__, \ - "%s %s %s (0x%llx %s 0x%llx)", #LEFT, #OP, #RIGHT, \ - (u_longlong_t)__left, #OP, (u_longlong_t)__right); \ - } while (0) -@@ -73,7 +73,7 @@ do { \ - const int64_t __left = (int64_t)(LEFT); \ - const int64_t __right = (int64_t)(RIGHT); \ - if (!(__left OP __right)) \ -- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ -+ libspl_assertf(__FILE__, __func__, __LINE__, \ - "%s %s %s (0x%llx %s 0x%llx)", #LEFT, #OP, #RIGHT, \ - (u_longlong_t)__left, #OP, (u_longlong_t)__right); \ - } while (0) -@@ -83,7 +83,7 @@ do { \ - const uint64_t __left = (uint64_t)(LEFT); \ - const uint64_t __right = (uint64_t)(RIGHT); \ - if (!(__left OP __right)) \ -- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ -+ libspl_assertf(__FILE__, __func__, __LINE__, \ - "%s %s %s (0x%llx %s 0x%llx)", #LEFT, #OP, #RIGHT, \ - (u_longlong_t)__left, #OP, (u_longlong_t)__right); \ - } while (0) -@@ -93,7 +93,7 @@ do { \ - const uintptr_t __left = (uintptr_t)(LEFT); \ - const uintptr_t __right = (uintptr_t)(RIGHT); \ - if (!(__left OP __right)) \ -- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ -+ libspl_assertf(__FILE__, __func__, __LINE__, \ - "%s %s %s (0x%llx %s 0x%llx)", #LEFT, #OP, #RIGHT, \ - (u_longlong_t)__left, #OP, (u_longlong_t)__right); \ - } while (0) -@@ -102,7 +102,7 @@ do { \ - do { \ - const uint64_t __left = (uint64_t)(LEFT); \ - if (!(__left == 0)) \ -- libspl_assertf(__FILE__, __FUNCTION__, __LINE__, \ -+ libspl_assertf(__FILE__, __func__, __LINE__, \ - "%s == 0 (0x%llx == 0)", #LEFT, \ - (u_longlong_t)__left); \ - } while (0) -@@ -140,11 +140,11 @@ do { \ - #define IMPLY(A, B) \ - ((void)(((!(A)) || (B)) || \ - libspl_assert("(" #A ") implies (" #B ")", \ -- __FILE__, __FUNCTION__, __LINE__))) -+ __FILE__, __func__, __LINE__))) - #define EQUIV(A, B) \ - ((void)((!!(A) == !!(B)) || \ - libspl_assert("(" #A ") is equivalent to (" #B ")", \ -- __FILE__, __FUNCTION__, __LINE__))) -+ __FILE__, __func__, __LINE__))) - - #endif /* NDEBUG */ - -diff --git a/module/os/freebsd/zfs/crypto_os.c b/module/os/freebsd/zfs/crypto_os.c -index f342c5e85..0ebc56e95 100644 ---- a/module/os/freebsd/zfs/crypto_os.c -+++ b/module/os/freebsd/zfs/crypto_os.c -@@ -229,7 +229,7 @@ freebsd_crypt_uio_debug_log(boolean_t encrypt, - - printf("%s(%s, %p, { %s, %d, %d, %s }, %p, { %d, %p, %u }, " - "%p, %u, %u)\n", -- __FUNCTION__, encrypt ? "encrypt" : "decrypt", input_sessionp, -+ __func__, encrypt ? "encrypt" : "decrypt", input_sessionp, - c_info->ci_algname, c_info->ci_crypt_type, - (unsigned int)c_info->ci_keylen, c_info->ci_name, - data_uio, key->ck_format, key->ck_data, -@@ -265,7 +265,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, - - #ifdef FCRYPTO_DEBUG - printf("%s(%p, { %s, %d, %d, %s }, { %d, %p, %u })\n", -- __FUNCTION__, sessp, -+ __func__, sessp, - c_info->ci_algname, c_info->ci_crypt_type, - (unsigned int)c_info->ci_keylen, c_info->ci_name, - key->ck_format, key->ck_data, (unsigned int)key->ck_length); -@@ -331,7 +331,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, - bad: - #ifdef FCRYPTO_DEBUG - if (error) -- printf("%s: returning error %d\n", __FUNCTION__, error); -+ printf("%s: returning error %d\n", __func__, error); - #endif - return (error); - } -@@ -387,7 +387,7 @@ freebsd_crypt_uio(boolean_t encrypt, - out: - #ifdef FCRYPTO_DEBUG - if (error) -- printf("%s: returning error %d\n", __FUNCTION__, error); -+ printf("%s: returning error %d\n", __func__, error); - #endif - if (input_sessionp == NULL) { - freebsd_crypt_freesession(session); -@@ -409,7 +409,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, - - #ifdef FCRYPTO_DEBUG - printf("%s(%p, { %s, %d, %d, %s }, { %d, %p, %u })\n", -- __FUNCTION__, sessp, -+ __func__, sessp, - c_info->ci_algname, c_info->ci_crypt_type, - (unsigned int)c_info->ci_keylen, c_info->ci_name, - key->ck_format, key->ck_data, (unsigned int)key->ck_length); -@@ -463,7 +463,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, - #ifdef FCRYPTO_DEBUG - printf("%s(%d): Using crypt %s (key length %u [%u bytes]), " - "auth %s (key length %d)\n", -- __FUNCTION__, __LINE__, -+ __func__, __LINE__, - xform->name, (unsigned int)key->ck_length, - (unsigned int)key->ck_length/8, - xauth->name, xauth->keysize); -@@ -489,7 +489,7 @@ freebsd_crypt_newsession(freebsd_crypt_session_t *sessp, - CRYPTOCAP_F_HARDWARE | CRYPTOCAP_F_SOFTWARE); - if (error != 0) { - printf("%s(%d): crypto_newsession failed with %d\n", -- __FUNCTION__, __LINE__, error); -+ __func__, __LINE__, error); - goto bad; - } - sessp->fs_sid = sid; -@@ -569,7 +569,7 @@ freebsd_crypt_uio(boolean_t encrypt, - #ifdef FCRYPTO_DEBUG - printf("%s(%d): Using crypt %s (key length %u [%u bytes]), " - "auth %s (key length %d)\n", -- __FUNCTION__, __LINE__, -+ __func__, __LINE__, - xform->name, (unsigned int)key->ck_length, - (unsigned int)key->ck_length/8, - xauth->name, xauth->keysize); -@@ -603,7 +603,7 @@ freebsd_crypt_uio(boolean_t encrypt, - auth_desc->crd_alg = xauth->type; - #ifdef FCRYPTO_DEBUG - printf("%s: auth: skip = %u, len = %u, inject = %u\n", -- __FUNCTION__, auth_desc->crd_skip, auth_desc->crd_len, -+ __func__, auth_desc->crd_skip, auth_desc->crd_len, - auth_desc->crd_inject); - #endif - -@@ -617,7 +617,7 @@ freebsd_crypt_uio(boolean_t encrypt, - - #ifdef FCRYPTO_DEBUG - printf("%s: enc: skip = %u, len = %u, inject = %u\n", -- __FUNCTION__, enc_desc->crd_skip, enc_desc->crd_len, -+ __func__, enc_desc->crd_skip, enc_desc->crd_len, - enc_desc->crd_inject); - #endif - -@@ -634,7 +634,7 @@ out: - bad: - #ifdef FCRYPTO_DEBUG - if (error) -- printf("%s: returning error %d\n", __FUNCTION__, error); -+ printf("%s: returning error %d\n", __func__, error); - #endif - return (error); - } -diff --git a/module/os/freebsd/zfs/zfs_vfsops.c b/module/os/freebsd/zfs/zfs_vfsops.c -index 05d41d4e3..01b12b12c 100644 ---- a/module/os/freebsd/zfs/zfs_vfsops.c -+++ b/module/os/freebsd/zfs/zfs_vfsops.c -@@ -244,7 +244,7 @@ zfs_getquota(zfsvfs_t *zfsvfs, uid_t id, int isgroup, struct dqblk64 *dqp) - if ((error = zap_lookup(zfsvfs->z_os, quotaobj, - buf, sizeof (quota), 1, &quota)) != 0) { - dprintf("%s(%d): quotaobj lookup failed\n", -- __FUNCTION__, __LINE__); -+ __func__, __LINE__); - goto done; - } - /* -@@ -255,7 +255,7 @@ zfs_getquota(zfsvfs_t *zfsvfs, uid_t id, int isgroup, struct dqblk64 *dqp) - error = zap_lookup(zfsvfs->z_os, usedobj, buf, sizeof (used), 1, &used); - if (error && error != ENOENT) { - dprintf("%s(%d): usedobj failed; %d\n", -- __FUNCTION__, __LINE__, error); -+ __func__, __LINE__, error); - goto done; - } - dqp->dqb_curblocks = btodb(used); -diff --git a/module/os/freebsd/zfs/zio_crypt.c b/module/os/freebsd/zfs/zio_crypt.c -index 9e0ab52a2..997f2492f 100644 ---- a/module/os/freebsd/zfs/zio_crypt.c -+++ b/module/os/freebsd/zfs/zio_crypt.c -@@ -420,7 +420,7 @@ zio_do_crypt_uio_opencrypto(boolean_t encrypt, freebsd_crypt_session_t *sess, - if (ret != 0) { - #ifdef FCRYPTO_DEBUG - printf("%s(%d): Returning error %s\n", -- __FUNCTION__, __LINE__, encrypt ? "EIO" : "ECKSUM"); -+ __func__, __LINE__, encrypt ? "EIO" : "ECKSUM"); - #endif - ret = SET_ERROR(encrypt ? EIO : ECKSUM); - } -@@ -1195,7 +1195,7 @@ zio_crypt_do_indirect_mac_checksum_impl(boolean_t generate, void *buf, - - if (bcmp(digestbuf, cksum, ZIO_DATA_MAC_LEN) != 0) { - #ifdef FCRYPTO_DEBUG -- printf("%s(%d): Setting ECKSUM\n", __FUNCTION__, __LINE__); -+ printf("%s(%d): Setting ECKSUM\n", __func__, __LINE__); - #endif - return (SET_ERROR(ECKSUM)); - } -@@ -1700,7 +1700,7 @@ zio_do_crypt_data(boolean_t encrypt, zio_crypt_key_t *key, - - #ifdef FCRYPTO_DEBUG - printf("%s(%s, %p, %p, %d, %p, %p, %u, %s, %p, %p, %p)\n", -- __FUNCTION__, -+ __func__, - encrypt ? "encrypt" : "decrypt", - key, salt, ot, iv, mac, datalen, - byteswap ? "byteswap" : "native_endian", plainbuf, --- -2.37.3 - diff --git a/pkg/zfs/patch/0005-Use-forward-declaration-instead-of-empty-struct.patch b/pkg/zfs/patch/0005-Use-forward-declaration-instead-of-empty-struct.patch @@ -0,0 +1,25 @@ +From 1c52610d16cd241e61c74ab7588edfdf00b945c3 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Sat, 21 Jan 2023 17:15:47 -0800 +Subject: [PATCH] Use forward declaration instead of empty struct + +--- + include/sys/zfs_context.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h +index 750ca612b..7c8cf33ca 100644 +--- a/include/sys/zfs_context.h ++++ b/include/sys/zfs_context.h +@@ -383,7 +383,7 @@ typedef struct procfs_list { + } procfs_list_t; + + #ifndef __cplusplus +-struct seq_file { }; ++struct seq_file; + void seq_printf(struct seq_file *m, const char *fmt, ...); + + typedef struct procfs_list_node { +-- +2.37.3 + diff --git a/pkg/zfs/patch/0006-Avoid-conflict-with-C23-bool-keyword.patch b/pkg/zfs/patch/0006-Avoid-conflict-with-C23-bool-keyword.patch @@ -0,0 +1,25 @@ +From 2f6ff5f479fc24f2c4cf7e3a30470a3aadb55607 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Sat, 21 Jan 2023 17:18:50 -0800 +Subject: [PATCH] Avoid conflict with C23 bool keyword + +--- + cmd/zed/agents/fmd_api.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/cmd/zed/agents/fmd_api.h b/cmd/zed/agents/fmd_api.h +index b940d0d39..7c485a9c9 100644 +--- a/cmd/zed/agents/fmd_api.h ++++ b/cmd/zed/agents/fmd_api.h +@@ -105,7 +105,7 @@ typedef struct fmd_stat { + uint_t fmds_type; /* statistic type (see above) */ + char fmds_desc[64]; /* statistic description */ + union { +- int bool; /* FMD_TYPE_BOOL */ ++ int b; /* FMD_TYPE_BOOL */ + int32_t i32; /* FMD_TYPE_INT32 */ + uint32_t ui32; /* FMD_TYPE_UINT32 */ + int64_t i64; /* FMD_TYPE_INT64 */ +-- +2.37.3 + diff --git a/pkg/zfs/patch/0006-Use-forward-declaration-instead-of-empty-struct.patch b/pkg/zfs/patch/0006-Use-forward-declaration-instead-of-empty-struct.patch @@ -1,25 +0,0 @@ -From 50878832d41ef03d61f5db2dc7a89039b2ba5889 Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Sat, 21 Jan 2023 17:15:47 -0800 -Subject: [PATCH] Use forward declaration instead of empty struct - ---- - include/sys/zfs_context.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h -index a6ff94317..42384d83a 100644 ---- a/include/sys/zfs_context.h -+++ b/include/sys/zfs_context.h -@@ -380,7 +380,7 @@ typedef struct procfs_list { - } procfs_list_t; - - #ifndef __cplusplus --struct seq_file { }; -+struct seq_file; - void seq_printf(struct seq_file *m, const char *fmt, ...); - - typedef struct procfs_list_node { --- -2.37.3 - diff --git a/pkg/zfs/patch/0007-Avoid-conflict-with-C23-bool-keyword.patch b/pkg/zfs/patch/0007-Avoid-conflict-with-C23-bool-keyword.patch @@ -1,25 +0,0 @@ -From bf9e24e3fe87474e71555b3421bfaa7d0c5e1882 Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Sat, 21 Jan 2023 17:18:50 -0800 -Subject: [PATCH] Avoid conflict with C23 bool keyword - ---- - cmd/zed/agents/fmd_api.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/cmd/zed/agents/fmd_api.h b/cmd/zed/agents/fmd_api.h -index 4f06fb244..45c1f2ce2 100644 ---- a/cmd/zed/agents/fmd_api.h -+++ b/cmd/zed/agents/fmd_api.h -@@ -109,7 +109,7 @@ typedef struct fmd_stat { - uint_t fmds_type; /* statistic type (see above) */ - char fmds_desc[64]; /* statistic description */ - union { -- int bool; /* FMD_TYPE_BOOL */ -+ int b; /* FMD_TYPE_BOOL */ - int32_t i32; /* FMD_TYPE_INT32 */ - uint32_t ui32; /* FMD_TYPE_UINT32 */ - int64_t i64; /* FMD_TYPE_INT64 */ --- -2.37.3 - diff --git a/pkg/zfs/patch/0007-Remove-stray-at-top-level.patch b/pkg/zfs/patch/0007-Remove-stray-at-top-level.patch @@ -0,0 +1,392 @@ +From b40890a5c47a69abfe96490b053f71be5ab09166 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Sat, 21 Jan 2023 17:17:48 -0800 +Subject: [PATCH] Remove stray ';' at top-level + +--- + module/avl/avl.c | 36 ++--- + module/nvpair/nvpair.c | 232 ++++++++++++++++----------------- + module/zcommon/zfs_namecheck.c | 20 +-- + module/zcommon/zfs_prop.c | 42 +++--- + 4 files changed, 165 insertions(+), 165 deletions(-) + +diff --git a/module/avl/avl.c b/module/avl/avl.c +index 9b74531fa..283c8e297 100644 +--- a/module/avl/avl.c ++++ b/module/avl/avl.c +@@ -1032,21 +1032,21 @@ done: + return (AVL_NODE2DATA(node, off)); + } + +-EXPORT_SYMBOL(avl_create); +-EXPORT_SYMBOL(avl_find); +-EXPORT_SYMBOL(avl_insert); +-EXPORT_SYMBOL(avl_insert_here); +-EXPORT_SYMBOL(avl_walk); +-EXPORT_SYMBOL(avl_first); +-EXPORT_SYMBOL(avl_last); +-EXPORT_SYMBOL(avl_nearest); +-EXPORT_SYMBOL(avl_add); +-EXPORT_SYMBOL(avl_swap); +-EXPORT_SYMBOL(avl_is_empty); +-EXPORT_SYMBOL(avl_remove); +-EXPORT_SYMBOL(avl_numnodes); +-EXPORT_SYMBOL(avl_destroy_nodes); +-EXPORT_SYMBOL(avl_destroy); +-EXPORT_SYMBOL(avl_update_lt); +-EXPORT_SYMBOL(avl_update_gt); +-EXPORT_SYMBOL(avl_update); ++EXPORT_SYMBOL(avl_create) ++EXPORT_SYMBOL(avl_find) ++EXPORT_SYMBOL(avl_insert) ++EXPORT_SYMBOL(avl_insert_here) ++EXPORT_SYMBOL(avl_walk) ++EXPORT_SYMBOL(avl_first) ++EXPORT_SYMBOL(avl_last) ++EXPORT_SYMBOL(avl_nearest) ++EXPORT_SYMBOL(avl_add) ++EXPORT_SYMBOL(avl_swap) ++EXPORT_SYMBOL(avl_is_empty) ++EXPORT_SYMBOL(avl_remove) ++EXPORT_SYMBOL(avl_numnodes) ++EXPORT_SYMBOL(avl_destroy_nodes) ++EXPORT_SYMBOL(avl_destroy) ++EXPORT_SYMBOL(avl_update_lt) ++EXPORT_SYMBOL(avl_update_gt) ++EXPORT_SYMBOL(avl_update) +diff --git a/module/nvpair/nvpair.c b/module/nvpair/nvpair.c +index d9449e47e..5626e2025 100644 +--- a/module/nvpair/nvpair.c ++++ b/module/nvpair/nvpair.c +@@ -3281,13 +3281,13 @@ nvs_xdr_nvp_##type(XDR *xdrs, void *ptr, ...) \ + #endif + + /* BEGIN CSTYLED */ +-NVS_BUILD_XDRPROC_T(char); +-NVS_BUILD_XDRPROC_T(short); +-NVS_BUILD_XDRPROC_T(u_short); +-NVS_BUILD_XDRPROC_T(int); +-NVS_BUILD_XDRPROC_T(u_int); +-NVS_BUILD_XDRPROC_T(longlong_t); +-NVS_BUILD_XDRPROC_T(u_longlong_t); ++NVS_BUILD_XDRPROC_T(char) ++NVS_BUILD_XDRPROC_T(short) ++NVS_BUILD_XDRPROC_T(u_short) ++NVS_BUILD_XDRPROC_T(int) ++NVS_BUILD_XDRPROC_T(u_int) ++NVS_BUILD_XDRPROC_T(longlong_t) ++NVS_BUILD_XDRPROC_T(u_longlong_t) + /* END CSTYLED */ + + /* +@@ -3681,116 +3681,116 @@ nvs_xdr(nvstream_t *nvs, nvlist_t *nvl, char *buf, size_t *buflen) + return (err); + } + +-EXPORT_SYMBOL(nv_alloc_init); +-EXPORT_SYMBOL(nv_alloc_reset); +-EXPORT_SYMBOL(nv_alloc_fini); ++EXPORT_SYMBOL(nv_alloc_init) ++EXPORT_SYMBOL(nv_alloc_reset) ++EXPORT_SYMBOL(nv_alloc_fini) + + /* list management */ +-EXPORT_SYMBOL(nvlist_alloc); +-EXPORT_SYMBOL(nvlist_free); +-EXPORT_SYMBOL(nvlist_size); +-EXPORT_SYMBOL(nvlist_pack); +-EXPORT_SYMBOL(nvlist_unpack); +-EXPORT_SYMBOL(nvlist_dup); +-EXPORT_SYMBOL(nvlist_merge); +- +-EXPORT_SYMBOL(nvlist_xalloc); +-EXPORT_SYMBOL(nvlist_xpack); +-EXPORT_SYMBOL(nvlist_xunpack); +-EXPORT_SYMBOL(nvlist_xdup); +-EXPORT_SYMBOL(nvlist_lookup_nv_alloc); +- +-EXPORT_SYMBOL(nvlist_add_nvpair); +-EXPORT_SYMBOL(nvlist_add_boolean); +-EXPORT_SYMBOL(nvlist_add_boolean_value); +-EXPORT_SYMBOL(nvlist_add_byte); +-EXPORT_SYMBOL(nvlist_add_int8); +-EXPORT_SYMBOL(nvlist_add_uint8); +-EXPORT_SYMBOL(nvlist_add_int16); +-EXPORT_SYMBOL(nvlist_add_uint16); +-EXPORT_SYMBOL(nvlist_add_int32); +-EXPORT_SYMBOL(nvlist_add_uint32); +-EXPORT_SYMBOL(nvlist_add_int64); +-EXPORT_SYMBOL(nvlist_add_uint64); +-EXPORT_SYMBOL(nvlist_add_string); +-EXPORT_SYMBOL(nvlist_add_nvlist); +-EXPORT_SYMBOL(nvlist_add_boolean_array); +-EXPORT_SYMBOL(nvlist_add_byte_array); +-EXPORT_SYMBOL(nvlist_add_int8_array); +-EXPORT_SYMBOL(nvlist_add_uint8_array); +-EXPORT_SYMBOL(nvlist_add_int16_array); +-EXPORT_SYMBOL(nvlist_add_uint16_array); +-EXPORT_SYMBOL(nvlist_add_int32_array); +-EXPORT_SYMBOL(nvlist_add_uint32_array); +-EXPORT_SYMBOL(nvlist_add_int64_array); +-EXPORT_SYMBOL(nvlist_add_uint64_array); +-EXPORT_SYMBOL(nvlist_add_string_array); +-EXPORT_SYMBOL(nvlist_add_nvlist_array); +-EXPORT_SYMBOL(nvlist_next_nvpair); +-EXPORT_SYMBOL(nvlist_prev_nvpair); +-EXPORT_SYMBOL(nvlist_empty); +-EXPORT_SYMBOL(nvlist_add_hrtime); +- +-EXPORT_SYMBOL(nvlist_remove); +-EXPORT_SYMBOL(nvlist_remove_nvpair); +-EXPORT_SYMBOL(nvlist_remove_all); +- +-EXPORT_SYMBOL(nvlist_lookup_boolean); +-EXPORT_SYMBOL(nvlist_lookup_boolean_value); +-EXPORT_SYMBOL(nvlist_lookup_byte); +-EXPORT_SYMBOL(nvlist_lookup_int8); +-EXPORT_SYMBOL(nvlist_lookup_uint8); +-EXPORT_SYMBOL(nvlist_lookup_int16); +-EXPORT_SYMBOL(nvlist_lookup_uint16); +-EXPORT_SYMBOL(nvlist_lookup_int32); +-EXPORT_SYMBOL(nvlist_lookup_uint32); +-EXPORT_SYMBOL(nvlist_lookup_int64); +-EXPORT_SYMBOL(nvlist_lookup_uint64); +-EXPORT_SYMBOL(nvlist_lookup_string); +-EXPORT_SYMBOL(nvlist_lookup_nvlist); +-EXPORT_SYMBOL(nvlist_lookup_boolean_array); +-EXPORT_SYMBOL(nvlist_lookup_byte_array); +-EXPORT_SYMBOL(nvlist_lookup_int8_array); +-EXPORT_SYMBOL(nvlist_lookup_uint8_array); +-EXPORT_SYMBOL(nvlist_lookup_int16_array); +-EXPORT_SYMBOL(nvlist_lookup_uint16_array); +-EXPORT_SYMBOL(nvlist_lookup_int32_array); +-EXPORT_SYMBOL(nvlist_lookup_uint32_array); +-EXPORT_SYMBOL(nvlist_lookup_int64_array); +-EXPORT_SYMBOL(nvlist_lookup_uint64_array); +-EXPORT_SYMBOL(nvlist_lookup_string_array); +-EXPORT_SYMBOL(nvlist_lookup_nvlist_array); +-EXPORT_SYMBOL(nvlist_lookup_hrtime); +-EXPORT_SYMBOL(nvlist_lookup_pairs); +- +-EXPORT_SYMBOL(nvlist_lookup_nvpair); +-EXPORT_SYMBOL(nvlist_exists); ++EXPORT_SYMBOL(nvlist_alloc) ++EXPORT_SYMBOL(nvlist_free) ++EXPORT_SYMBOL(nvlist_size) ++EXPORT_SYMBOL(nvlist_pack) ++EXPORT_SYMBOL(nvlist_unpack) ++EXPORT_SYMBOL(nvlist_dup) ++EXPORT_SYMBOL(nvlist_merge) ++ ++EXPORT_SYMBOL(nvlist_xalloc) ++EXPORT_SYMBOL(nvlist_xpack) ++EXPORT_SYMBOL(nvlist_xunpack) ++EXPORT_SYMBOL(nvlist_xdup) ++EXPORT_SYMBOL(nvlist_lookup_nv_alloc) ++ ++EXPORT_SYMBOL(nvlist_add_nvpair) ++EXPORT_SYMBOL(nvlist_add_boolean) ++EXPORT_SYMBOL(nvlist_add_boolean_value) ++EXPORT_SYMBOL(nvlist_add_byte) ++EXPORT_SYMBOL(nvlist_add_int8) ++EXPORT_SYMBOL(nvlist_add_uint8) ++EXPORT_SYMBOL(nvlist_add_int16) ++EXPORT_SYMBOL(nvlist_add_uint16) ++EXPORT_SYMBOL(nvlist_add_int32) ++EXPORT_SYMBOL(nvlist_add_uint32) ++EXPORT_SYMBOL(nvlist_add_int64) ++EXPORT_SYMBOL(nvlist_add_uint64) ++EXPORT_SYMBOL(nvlist_add_string) ++EXPORT_SYMBOL(nvlist_add_nvlist) ++EXPORT_SYMBOL(nvlist_add_boolean_array) ++EXPORT_SYMBOL(nvlist_add_byte_array) ++EXPORT_SYMBOL(nvlist_add_int8_array) ++EXPORT_SYMBOL(nvlist_add_uint8_array) ++EXPORT_SYMBOL(nvlist_add_int16_array) ++EXPORT_SYMBOL(nvlist_add_uint16_array) ++EXPORT_SYMBOL(nvlist_add_int32_array) ++EXPORT_SYMBOL(nvlist_add_uint32_array) ++EXPORT_SYMBOL(nvlist_add_int64_array) ++EXPORT_SYMBOL(nvlist_add_uint64_array) ++EXPORT_SYMBOL(nvlist_add_string_array) ++EXPORT_SYMBOL(nvlist_add_nvlist_array) ++EXPORT_SYMBOL(nvlist_next_nvpair) ++EXPORT_SYMBOL(nvlist_prev_nvpair) ++EXPORT_SYMBOL(nvlist_empty) ++EXPORT_SYMBOL(nvlist_add_hrtime) ++ ++EXPORT_SYMBOL(nvlist_remove) ++EXPORT_SYMBOL(nvlist_remove_nvpair) ++EXPORT_SYMBOL(nvlist_remove_all) ++ ++EXPORT_SYMBOL(nvlist_lookup_boolean) ++EXPORT_SYMBOL(nvlist_lookup_boolean_value) ++EXPORT_SYMBOL(nvlist_lookup_byte) ++EXPORT_SYMBOL(nvlist_lookup_int8) ++EXPORT_SYMBOL(nvlist_lookup_uint8) ++EXPORT_SYMBOL(nvlist_lookup_int16) ++EXPORT_SYMBOL(nvlist_lookup_uint16) ++EXPORT_SYMBOL(nvlist_lookup_int32) ++EXPORT_SYMBOL(nvlist_lookup_uint32) ++EXPORT_SYMBOL(nvlist_lookup_int64) ++EXPORT_SYMBOL(nvlist_lookup_uint64) ++EXPORT_SYMBOL(nvlist_lookup_string) ++EXPORT_SYMBOL(nvlist_lookup_nvlist) ++EXPORT_SYMBOL(nvlist_lookup_boolean_array) ++EXPORT_SYMBOL(nvlist_lookup_byte_array) ++EXPORT_SYMBOL(nvlist_lookup_int8_array) ++EXPORT_SYMBOL(nvlist_lookup_uint8_array) ++EXPORT_SYMBOL(nvlist_lookup_int16_array) ++EXPORT_SYMBOL(nvlist_lookup_uint16_array) ++EXPORT_SYMBOL(nvlist_lookup_int32_array) ++EXPORT_SYMBOL(nvlist_lookup_uint32_array) ++EXPORT_SYMBOL(nvlist_lookup_int64_array) ++EXPORT_SYMBOL(nvlist_lookup_uint64_array) ++EXPORT_SYMBOL(nvlist_lookup_string_array) ++EXPORT_SYMBOL(nvlist_lookup_nvlist_array) ++EXPORT_SYMBOL(nvlist_lookup_hrtime) ++EXPORT_SYMBOL(nvlist_lookup_pairs) ++ ++EXPORT_SYMBOL(nvlist_lookup_nvpair) ++EXPORT_SYMBOL(nvlist_exists) + + /* processing nvpair */ +-EXPORT_SYMBOL(nvpair_name); +-EXPORT_SYMBOL(nvpair_type); +-EXPORT_SYMBOL(nvpair_value_boolean_value); +-EXPORT_SYMBOL(nvpair_value_byte); +-EXPORT_SYMBOL(nvpair_value_int8); +-EXPORT_SYMBOL(nvpair_value_uint8); +-EXPORT_SYMBOL(nvpair_value_int16); +-EXPORT_SYMBOL(nvpair_value_uint16); +-EXPORT_SYMBOL(nvpair_value_int32); +-EXPORT_SYMBOL(nvpair_value_uint32); +-EXPORT_SYMBOL(nvpair_value_int64); +-EXPORT_SYMBOL(nvpair_value_uint64); +-EXPORT_SYMBOL(nvpair_value_string); +-EXPORT_SYMBOL(nvpair_value_nvlist); +-EXPORT_SYMBOL(nvpair_value_boolean_array); +-EXPORT_SYMBOL(nvpair_value_byte_array); +-EXPORT_SYMBOL(nvpair_value_int8_array); +-EXPORT_SYMBOL(nvpair_value_uint8_array); +-EXPORT_SYMBOL(nvpair_value_int16_array); +-EXPORT_SYMBOL(nvpair_value_uint16_array); +-EXPORT_SYMBOL(nvpair_value_int32_array); +-EXPORT_SYMBOL(nvpair_value_uint32_array); +-EXPORT_SYMBOL(nvpair_value_int64_array); +-EXPORT_SYMBOL(nvpair_value_uint64_array); +-EXPORT_SYMBOL(nvpair_value_string_array); +-EXPORT_SYMBOL(nvpair_value_nvlist_array); +-EXPORT_SYMBOL(nvpair_value_hrtime); ++EXPORT_SYMBOL(nvpair_name) ++EXPORT_SYMBOL(nvpair_type) ++EXPORT_SYMBOL(nvpair_value_boolean_value) ++EXPORT_SYMBOL(nvpair_value_byte) ++EXPORT_SYMBOL(nvpair_value_int8) ++EXPORT_SYMBOL(nvpair_value_uint8) ++EXPORT_SYMBOL(nvpair_value_int16) ++EXPORT_SYMBOL(nvpair_value_uint16) ++EXPORT_SYMBOL(nvpair_value_int32) ++EXPORT_SYMBOL(nvpair_value_uint32) ++EXPORT_SYMBOL(nvpair_value_int64) ++EXPORT_SYMBOL(nvpair_value_uint64) ++EXPORT_SYMBOL(nvpair_value_string) ++EXPORT_SYMBOL(nvpair_value_nvlist) ++EXPORT_SYMBOL(nvpair_value_boolean_array) ++EXPORT_SYMBOL(nvpair_value_byte_array) ++EXPORT_SYMBOL(nvpair_value_int8_array) ++EXPORT_SYMBOL(nvpair_value_uint8_array) ++EXPORT_SYMBOL(nvpair_value_int16_array) ++EXPORT_SYMBOL(nvpair_value_uint16_array) ++EXPORT_SYMBOL(nvpair_value_int32_array) ++EXPORT_SYMBOL(nvpair_value_uint32_array) ++EXPORT_SYMBOL(nvpair_value_int64_array) ++EXPORT_SYMBOL(nvpair_value_uint64_array) ++EXPORT_SYMBOL(nvpair_value_string_array) ++EXPORT_SYMBOL(nvpair_value_nvlist_array) ++EXPORT_SYMBOL(nvpair_value_hrtime) +diff --git a/module/zcommon/zfs_namecheck.c b/module/zcommon/zfs_namecheck.c +index 273b219a9..41099c7f0 100644 +--- a/module/zcommon/zfs_namecheck.c ++++ b/module/zcommon/zfs_namecheck.c +@@ -453,15 +453,15 @@ pool_namecheck(const char *pool, namecheck_err_t *why, char *what) + return (0); + } + +-EXPORT_SYMBOL(entity_namecheck); +-EXPORT_SYMBOL(pool_namecheck); +-EXPORT_SYMBOL(dataset_namecheck); +-EXPORT_SYMBOL(bookmark_namecheck); +-EXPORT_SYMBOL(snapshot_namecheck); +-EXPORT_SYMBOL(zfs_component_namecheck); +-EXPORT_SYMBOL(dataset_nestcheck); +-EXPORT_SYMBOL(get_dataset_depth); +-EXPORT_SYMBOL(zfs_max_dataset_nesting); ++EXPORT_SYMBOL(entity_namecheck) ++EXPORT_SYMBOL(pool_namecheck) ++EXPORT_SYMBOL(dataset_namecheck) ++EXPORT_SYMBOL(bookmark_namecheck) ++EXPORT_SYMBOL(snapshot_namecheck) ++EXPORT_SYMBOL(zfs_component_namecheck) ++EXPORT_SYMBOL(dataset_nestcheck) ++EXPORT_SYMBOL(get_dataset_depth) ++EXPORT_SYMBOL(zfs_max_dataset_nesting) + + ZFS_MODULE_PARAM(zfs, zfs_, max_dataset_nesting, INT, ZMOD_RW, +- "Limit to the amount of nesting a path can have. Defaults to 50."); ++ "Limit to the amount of nesting a path can have. Defaults to 50.") +diff --git a/module/zcommon/zfs_prop.c b/module/zcommon/zfs_prop.c +index 3db6fd13f..13c63a36c 100644 +--- a/module/zcommon/zfs_prop.c ++++ b/module/zcommon/zfs_prop.c +@@ -1076,26 +1076,26 @@ module_exit(zcommon_fini); + #endif + + /* zfs dataset property functions */ +-EXPORT_SYMBOL(zfs_userquota_prop_prefixes); +-EXPORT_SYMBOL(zfs_prop_init); +-EXPORT_SYMBOL(zfs_prop_get_type); +-EXPORT_SYMBOL(zfs_prop_get_table); +-EXPORT_SYMBOL(zfs_prop_delegatable); +-EXPORT_SYMBOL(zfs_prop_visible); ++EXPORT_SYMBOL(zfs_userquota_prop_prefixes) ++EXPORT_SYMBOL(zfs_prop_init) ++EXPORT_SYMBOL(zfs_prop_get_type) ++EXPORT_SYMBOL(zfs_prop_get_table) ++EXPORT_SYMBOL(zfs_prop_delegatable) ++EXPORT_SYMBOL(zfs_prop_visible) + + /* Dataset property functions shared between libzfs and kernel. */ +-EXPORT_SYMBOL(zfs_prop_default_string); +-EXPORT_SYMBOL(zfs_prop_default_numeric); +-EXPORT_SYMBOL(zfs_prop_readonly); +-EXPORT_SYMBOL(zfs_prop_inheritable); +-EXPORT_SYMBOL(zfs_prop_encryption_key_param); +-EXPORT_SYMBOL(zfs_prop_valid_keylocation); +-EXPORT_SYMBOL(zfs_prop_setonce); +-EXPORT_SYMBOL(zfs_prop_to_name); +-EXPORT_SYMBOL(zfs_name_to_prop); +-EXPORT_SYMBOL(zfs_prop_user); +-EXPORT_SYMBOL(zfs_prop_userquota); +-EXPORT_SYMBOL(zfs_prop_index_to_string); +-EXPORT_SYMBOL(zfs_prop_string_to_index); +-EXPORT_SYMBOL(zfs_prop_valid_for_type); +-EXPORT_SYMBOL(zfs_prop_written); ++EXPORT_SYMBOL(zfs_prop_default_string) ++EXPORT_SYMBOL(zfs_prop_default_numeric) ++EXPORT_SYMBOL(zfs_prop_readonly) ++EXPORT_SYMBOL(zfs_prop_inheritable) ++EXPORT_SYMBOL(zfs_prop_encryption_key_param) ++EXPORT_SYMBOL(zfs_prop_valid_keylocation) ++EXPORT_SYMBOL(zfs_prop_setonce) ++EXPORT_SYMBOL(zfs_prop_to_name) ++EXPORT_SYMBOL(zfs_name_to_prop) ++EXPORT_SYMBOL(zfs_prop_user) ++EXPORT_SYMBOL(zfs_prop_userquota) ++EXPORT_SYMBOL(zfs_prop_index_to_string) ++EXPORT_SYMBOL(zfs_prop_string_to_index) ++EXPORT_SYMBOL(zfs_prop_valid_for_type) ++EXPORT_SYMBOL(zfs_prop_written) +-- +2.37.3 + diff --git a/pkg/zfs/patch/0009-Avoid-use-of-long-double-function.patch b/pkg/zfs/patch/0008-Avoid-use-of-long-double-function.patch diff --git a/pkg/zfs/patch/0008-Remove-stray-at-top-level.patch b/pkg/zfs/patch/0008-Remove-stray-at-top-level.patch @@ -1,421 +0,0 @@ -From 54212b1aebdb3c5ffa7904eed7b9a09490aca1e1 Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Sat, 21 Jan 2023 17:17:48 -0800 -Subject: [PATCH] Remove stray ';' at top-level - ---- - module/avl/avl.c | 46 +++---- - module/nvpair/nvpair.c | 240 ++++++++++++++++----------------- - module/zcommon/zfs_namecheck.c | 20 +-- - module/zcommon/zfs_prop.c | 50 +++---- - 4 files changed, 178 insertions(+), 178 deletions(-) - -diff --git a/module/avl/avl.c b/module/avl/avl.c -index f761a8ae7..18dbe1b99 100644 ---- a/module/avl/avl.c -+++ b/module/avl/avl.c -@@ -1052,26 +1052,26 @@ module_init(avl_init); - module_exit(avl_fini); - #endif - --ZFS_MODULE_DESCRIPTION("Generic AVL tree implementation"); --ZFS_MODULE_AUTHOR(ZFS_META_AUTHOR); --ZFS_MODULE_LICENSE(ZFS_META_LICENSE); --ZFS_MODULE_VERSION(ZFS_META_VERSION "-" ZFS_META_RELEASE); -- --EXPORT_SYMBOL(avl_create); --EXPORT_SYMBOL(avl_find); --EXPORT_SYMBOL(avl_insert); --EXPORT_SYMBOL(avl_insert_here); --EXPORT_SYMBOL(avl_walk); --EXPORT_SYMBOL(avl_first); --EXPORT_SYMBOL(avl_last); --EXPORT_SYMBOL(avl_nearest); --EXPORT_SYMBOL(avl_add); --EXPORT_SYMBOL(avl_swap); --EXPORT_SYMBOL(avl_is_empty); --EXPORT_SYMBOL(avl_remove); --EXPORT_SYMBOL(avl_numnodes); --EXPORT_SYMBOL(avl_destroy_nodes); --EXPORT_SYMBOL(avl_destroy); --EXPORT_SYMBOL(avl_update_lt); --EXPORT_SYMBOL(avl_update_gt); --EXPORT_SYMBOL(avl_update); -+ZFS_MODULE_DESCRIPTION("Generic AVL tree implementation") -+ZFS_MODULE_AUTHOR(ZFS_META_AUTHOR) -+ZFS_MODULE_LICENSE(ZFS_META_LICENSE) -+ZFS_MODULE_VERSION(ZFS_META_VERSION "-" ZFS_META_RELEASE) -+ -+EXPORT_SYMBOL(avl_create) -+EXPORT_SYMBOL(avl_find) -+EXPORT_SYMBOL(avl_insert) -+EXPORT_SYMBOL(avl_insert_here) -+EXPORT_SYMBOL(avl_walk) -+EXPORT_SYMBOL(avl_first) -+EXPORT_SYMBOL(avl_last) -+EXPORT_SYMBOL(avl_nearest) -+EXPORT_SYMBOL(avl_add) -+EXPORT_SYMBOL(avl_swap) -+EXPORT_SYMBOL(avl_is_empty) -+EXPORT_SYMBOL(avl_remove) -+EXPORT_SYMBOL(avl_numnodes) -+EXPORT_SYMBOL(avl_destroy_nodes) -+EXPORT_SYMBOL(avl_destroy) -+EXPORT_SYMBOL(avl_update_lt) -+EXPORT_SYMBOL(avl_update_gt) -+EXPORT_SYMBOL(avl_update) -diff --git a/module/nvpair/nvpair.c b/module/nvpair/nvpair.c -index 9834dedd8..6dfebb0ec 100644 ---- a/module/nvpair/nvpair.c -+++ b/module/nvpair/nvpair.c -@@ -3256,13 +3256,13 @@ nvs_xdr_nvp_##type(XDR *xdrs, void *ptr, ...) \ - #endif - - /* BEGIN CSTYLED */ --NVS_BUILD_XDRPROC_T(char); --NVS_BUILD_XDRPROC_T(short); --NVS_BUILD_XDRPROC_T(u_short); --NVS_BUILD_XDRPROC_T(int); --NVS_BUILD_XDRPROC_T(u_int); --NVS_BUILD_XDRPROC_T(longlong_t); --NVS_BUILD_XDRPROC_T(u_longlong_t); -+NVS_BUILD_XDRPROC_T(char) -+NVS_BUILD_XDRPROC_T(short) -+NVS_BUILD_XDRPROC_T(u_short) -+NVS_BUILD_XDRPROC_T(int) -+NVS_BUILD_XDRPROC_T(u_int) -+NVS_BUILD_XDRPROC_T(longlong_t) -+NVS_BUILD_XDRPROC_T(u_longlong_t) - /* END CSTYLED */ - - /* -@@ -3672,121 +3672,121 @@ module_init(nvpair_init); - module_exit(nvpair_fini); - #endif - --ZFS_MODULE_DESCRIPTION("Generic name/value pair implementation"); --ZFS_MODULE_AUTHOR(ZFS_META_AUTHOR); --ZFS_MODULE_LICENSE(ZFS_META_LICENSE); --ZFS_MODULE_VERSION(ZFS_META_VERSION "-" ZFS_META_RELEASE); -+ZFS_MODULE_DESCRIPTION("Generic name/value pair implementation") -+ZFS_MODULE_AUTHOR(ZFS_META_AUTHOR) -+ZFS_MODULE_LICENSE(ZFS_META_LICENSE) -+ZFS_MODULE_VERSION(ZFS_META_VERSION "-" ZFS_META_RELEASE) - --EXPORT_SYMBOL(nv_alloc_init); --EXPORT_SYMBOL(nv_alloc_reset); --EXPORT_SYMBOL(nv_alloc_fini); -+EXPORT_SYMBOL(nv_alloc_init) -+EXPORT_SYMBOL(nv_alloc_reset) -+EXPORT_SYMBOL(nv_alloc_fini) - - /* list management */ --EXPORT_SYMBOL(nvlist_alloc); --EXPORT_SYMBOL(nvlist_free); --EXPORT_SYMBOL(nvlist_size); --EXPORT_SYMBOL(nvlist_pack); --EXPORT_SYMBOL(nvlist_unpack); --EXPORT_SYMBOL(nvlist_dup); --EXPORT_SYMBOL(nvlist_merge); -- --EXPORT_SYMBOL(nvlist_xalloc); --EXPORT_SYMBOL(nvlist_xpack); --EXPORT_SYMBOL(nvlist_xunpack); --EXPORT_SYMBOL(nvlist_xdup); --EXPORT_SYMBOL(nvlist_lookup_nv_alloc); -- --EXPORT_SYMBOL(nvlist_add_nvpair); --EXPORT_SYMBOL(nvlist_add_boolean); --EXPORT_SYMBOL(nvlist_add_boolean_value); --EXPORT_SYMBOL(nvlist_add_byte); --EXPORT_SYMBOL(nvlist_add_int8); --EXPORT_SYMBOL(nvlist_add_uint8); --EXPORT_SYMBOL(nvlist_add_int16); --EXPORT_SYMBOL(nvlist_add_uint16); --EXPORT_SYMBOL(nvlist_add_int32); --EXPORT_SYMBOL(nvlist_add_uint32); --EXPORT_SYMBOL(nvlist_add_int64); --EXPORT_SYMBOL(nvlist_add_uint64); --EXPORT_SYMBOL(nvlist_add_string); --EXPORT_SYMBOL(nvlist_add_nvlist); --EXPORT_SYMBOL(nvlist_add_boolean_array); --EXPORT_SYMBOL(nvlist_add_byte_array); --EXPORT_SYMBOL(nvlist_add_int8_array); --EXPORT_SYMBOL(nvlist_add_uint8_array); --EXPORT_SYMBOL(nvlist_add_int16_array); --EXPORT_SYMBOL(nvlist_add_uint16_array); --EXPORT_SYMBOL(nvlist_add_int32_array); --EXPORT_SYMBOL(nvlist_add_uint32_array); --EXPORT_SYMBOL(nvlist_add_int64_array); --EXPORT_SYMBOL(nvlist_add_uint64_array); --EXPORT_SYMBOL(nvlist_add_string_array); --EXPORT_SYMBOL(nvlist_add_nvlist_array); --EXPORT_SYMBOL(nvlist_next_nvpair); --EXPORT_SYMBOL(nvlist_prev_nvpair); --EXPORT_SYMBOL(nvlist_empty); --EXPORT_SYMBOL(nvlist_add_hrtime); -- --EXPORT_SYMBOL(nvlist_remove); --EXPORT_SYMBOL(nvlist_remove_nvpair); --EXPORT_SYMBOL(nvlist_remove_all); -- --EXPORT_SYMBOL(nvlist_lookup_boolean); --EXPORT_SYMBOL(nvlist_lookup_boolean_value); --EXPORT_SYMBOL(nvlist_lookup_byte); --EXPORT_SYMBOL(nvlist_lookup_int8); --EXPORT_SYMBOL(nvlist_lookup_uint8); --EXPORT_SYMBOL(nvlist_lookup_int16); --EXPORT_SYMBOL(nvlist_lookup_uint16); --EXPORT_SYMBOL(nvlist_lookup_int32); --EXPORT_SYMBOL(nvlist_lookup_uint32); --EXPORT_SYMBOL(nvlist_lookup_int64); --EXPORT_SYMBOL(nvlist_lookup_uint64); --EXPORT_SYMBOL(nvlist_lookup_string); --EXPORT_SYMBOL(nvlist_lookup_nvlist); --EXPORT_SYMBOL(nvlist_lookup_boolean_array); --EXPORT_SYMBOL(nvlist_lookup_byte_array); --EXPORT_SYMBOL(nvlist_lookup_int8_array); --EXPORT_SYMBOL(nvlist_lookup_uint8_array); --EXPORT_SYMBOL(nvlist_lookup_int16_array); --EXPORT_SYMBOL(nvlist_lookup_uint16_array); --EXPORT_SYMBOL(nvlist_lookup_int32_array); --EXPORT_SYMBOL(nvlist_lookup_uint32_array); --EXPORT_SYMBOL(nvlist_lookup_int64_array); --EXPORT_SYMBOL(nvlist_lookup_uint64_array); --EXPORT_SYMBOL(nvlist_lookup_string_array); --EXPORT_SYMBOL(nvlist_lookup_nvlist_array); --EXPORT_SYMBOL(nvlist_lookup_hrtime); --EXPORT_SYMBOL(nvlist_lookup_pairs); -- --EXPORT_SYMBOL(nvlist_lookup_nvpair); --EXPORT_SYMBOL(nvlist_exists); -+EXPORT_SYMBOL(nvlist_alloc) -+EXPORT_SYMBOL(nvlist_free) -+EXPORT_SYMBOL(nvlist_size) -+EXPORT_SYMBOL(nvlist_pack) -+EXPORT_SYMBOL(nvlist_unpack) -+EXPORT_SYMBOL(nvlist_dup) -+EXPORT_SYMBOL(nvlist_merge) -+ -+EXPORT_SYMBOL(nvlist_xalloc) -+EXPORT_SYMBOL(nvlist_xpack) -+EXPORT_SYMBOL(nvlist_xunpack) -+EXPORT_SYMBOL(nvlist_xdup) -+EXPORT_SYMBOL(nvlist_lookup_nv_alloc) -+ -+EXPORT_SYMBOL(nvlist_add_nvpair) -+EXPORT_SYMBOL(nvlist_add_boolean) -+EXPORT_SYMBOL(nvlist_add_boolean_value) -+EXPORT_SYMBOL(nvlist_add_byte) -+EXPORT_SYMBOL(nvlist_add_int8) -+EXPORT_SYMBOL(nvlist_add_uint8) -+EXPORT_SYMBOL(nvlist_add_int16) -+EXPORT_SYMBOL(nvlist_add_uint16) -+EXPORT_SYMBOL(nvlist_add_int32) -+EXPORT_SYMBOL(nvlist_add_uint32) -+EXPORT_SYMBOL(nvlist_add_int64) -+EXPORT_SYMBOL(nvlist_add_uint64) -+EXPORT_SYMBOL(nvlist_add_string) -+EXPORT_SYMBOL(nvlist_add_nvlist) -+EXPORT_SYMBOL(nvlist_add_boolean_array) -+EXPORT_SYMBOL(nvlist_add_byte_array) -+EXPORT_SYMBOL(nvlist_add_int8_array) -+EXPORT_SYMBOL(nvlist_add_uint8_array) -+EXPORT_SYMBOL(nvlist_add_int16_array) -+EXPORT_SYMBOL(nvlist_add_uint16_array) -+EXPORT_SYMBOL(nvlist_add_int32_array) -+EXPORT_SYMBOL(nvlist_add_uint32_array) -+EXPORT_SYMBOL(nvlist_add_int64_array) -+EXPORT_SYMBOL(nvlist_add_uint64_array) -+EXPORT_SYMBOL(nvlist_add_string_array) -+EXPORT_SYMBOL(nvlist_add_nvlist_array) -+EXPORT_SYMBOL(nvlist_next_nvpair) -+EXPORT_SYMBOL(nvlist_prev_nvpair) -+EXPORT_SYMBOL(nvlist_empty) -+EXPORT_SYMBOL(nvlist_add_hrtime) -+ -+EXPORT_SYMBOL(nvlist_remove) -+EXPORT_SYMBOL(nvlist_remove_nvpair) -+EXPORT_SYMBOL(nvlist_remove_all) -+ -+EXPORT_SYMBOL(nvlist_lookup_boolean) -+EXPORT_SYMBOL(nvlist_lookup_boolean_value) -+EXPORT_SYMBOL(nvlist_lookup_byte) -+EXPORT_SYMBOL(nvlist_lookup_int8) -+EXPORT_SYMBOL(nvlist_lookup_uint8) -+EXPORT_SYMBOL(nvlist_lookup_int16) -+EXPORT_SYMBOL(nvlist_lookup_uint16) -+EXPORT_SYMBOL(nvlist_lookup_int32) -+EXPORT_SYMBOL(nvlist_lookup_uint32) -+EXPORT_SYMBOL(nvlist_lookup_int64) -+EXPORT_SYMBOL(nvlist_lookup_uint64) -+EXPORT_SYMBOL(nvlist_lookup_string) -+EXPORT_SYMBOL(nvlist_lookup_nvlist) -+EXPORT_SYMBOL(nvlist_lookup_boolean_array) -+EXPORT_SYMBOL(nvlist_lookup_byte_array) -+EXPORT_SYMBOL(nvlist_lookup_int8_array) -+EXPORT_SYMBOL(nvlist_lookup_uint8_array) -+EXPORT_SYMBOL(nvlist_lookup_int16_array) -+EXPORT_SYMBOL(nvlist_lookup_uint16_array) -+EXPORT_SYMBOL(nvlist_lookup_int32_array) -+EXPORT_SYMBOL(nvlist_lookup_uint32_array) -+EXPORT_SYMBOL(nvlist_lookup_int64_array) -+EXPORT_SYMBOL(nvlist_lookup_uint64_array) -+EXPORT_SYMBOL(nvlist_lookup_string_array) -+EXPORT_SYMBOL(nvlist_lookup_nvlist_array) -+EXPORT_SYMBOL(nvlist_lookup_hrtime) -+EXPORT_SYMBOL(nvlist_lookup_pairs) -+ -+EXPORT_SYMBOL(nvlist_lookup_nvpair) -+EXPORT_SYMBOL(nvlist_exists) - - /* processing nvpair */ --EXPORT_SYMBOL(nvpair_name); --EXPORT_SYMBOL(nvpair_type); --EXPORT_SYMBOL(nvpair_value_boolean_value); --EXPORT_SYMBOL(nvpair_value_byte); --EXPORT_SYMBOL(nvpair_value_int8); --EXPORT_SYMBOL(nvpair_value_uint8); --EXPORT_SYMBOL(nvpair_value_int16); --EXPORT_SYMBOL(nvpair_value_uint16); --EXPORT_SYMBOL(nvpair_value_int32); --EXPORT_SYMBOL(nvpair_value_uint32); --EXPORT_SYMBOL(nvpair_value_int64); --EXPORT_SYMBOL(nvpair_value_uint64); --EXPORT_SYMBOL(nvpair_value_string); --EXPORT_SYMBOL(nvpair_value_nvlist); --EXPORT_SYMBOL(nvpair_value_boolean_array); --EXPORT_SYMBOL(nvpair_value_byte_array); --EXPORT_SYMBOL(nvpair_value_int8_array); --EXPORT_SYMBOL(nvpair_value_uint8_array); --EXPORT_SYMBOL(nvpair_value_int16_array); --EXPORT_SYMBOL(nvpair_value_uint16_array); --EXPORT_SYMBOL(nvpair_value_int32_array); --EXPORT_SYMBOL(nvpair_value_uint32_array); --EXPORT_SYMBOL(nvpair_value_int64_array); --EXPORT_SYMBOL(nvpair_value_uint64_array); --EXPORT_SYMBOL(nvpair_value_string_array); --EXPORT_SYMBOL(nvpair_value_nvlist_array); --EXPORT_SYMBOL(nvpair_value_hrtime); -+EXPORT_SYMBOL(nvpair_name) -+EXPORT_SYMBOL(nvpair_type) -+EXPORT_SYMBOL(nvpair_value_boolean_value) -+EXPORT_SYMBOL(nvpair_value_byte) -+EXPORT_SYMBOL(nvpair_value_int8) -+EXPORT_SYMBOL(nvpair_value_uint8) -+EXPORT_SYMBOL(nvpair_value_int16) -+EXPORT_SYMBOL(nvpair_value_uint16) -+EXPORT_SYMBOL(nvpair_value_int32) -+EXPORT_SYMBOL(nvpair_value_uint32) -+EXPORT_SYMBOL(nvpair_value_int64) -+EXPORT_SYMBOL(nvpair_value_uint64) -+EXPORT_SYMBOL(nvpair_value_string) -+EXPORT_SYMBOL(nvpair_value_nvlist) -+EXPORT_SYMBOL(nvpair_value_boolean_array) -+EXPORT_SYMBOL(nvpair_value_byte_array) -+EXPORT_SYMBOL(nvpair_value_int8_array) -+EXPORT_SYMBOL(nvpair_value_uint8_array) -+EXPORT_SYMBOL(nvpair_value_int16_array) -+EXPORT_SYMBOL(nvpair_value_uint16_array) -+EXPORT_SYMBOL(nvpair_value_int32_array) -+EXPORT_SYMBOL(nvpair_value_uint32_array) -+EXPORT_SYMBOL(nvpair_value_int64_array) -+EXPORT_SYMBOL(nvpair_value_uint64_array) -+EXPORT_SYMBOL(nvpair_value_string_array) -+EXPORT_SYMBOL(nvpair_value_nvlist_array) -+EXPORT_SYMBOL(nvpair_value_hrtime) -diff --git a/module/zcommon/zfs_namecheck.c b/module/zcommon/zfs_namecheck.c -index 7ecce451b..5f6b8a3b9 100644 ---- a/module/zcommon/zfs_namecheck.c -+++ b/module/zcommon/zfs_namecheck.c -@@ -453,15 +453,15 @@ pool_namecheck(const char *pool, namecheck_err_t *why, char *what) - return (0); - } - --EXPORT_SYMBOL(entity_namecheck); --EXPORT_SYMBOL(pool_namecheck); --EXPORT_SYMBOL(dataset_namecheck); --EXPORT_SYMBOL(bookmark_namecheck); --EXPORT_SYMBOL(snapshot_namecheck); --EXPORT_SYMBOL(zfs_component_namecheck); --EXPORT_SYMBOL(dataset_nestcheck); --EXPORT_SYMBOL(get_dataset_depth); --EXPORT_SYMBOL(zfs_max_dataset_nesting); -+EXPORT_SYMBOL(entity_namecheck) -+EXPORT_SYMBOL(pool_namecheck) -+EXPORT_SYMBOL(dataset_namecheck) -+EXPORT_SYMBOL(bookmark_namecheck) -+EXPORT_SYMBOL(snapshot_namecheck) -+EXPORT_SYMBOL(zfs_component_namecheck) -+EXPORT_SYMBOL(dataset_nestcheck) -+EXPORT_SYMBOL(get_dataset_depth) -+EXPORT_SYMBOL(zfs_max_dataset_nesting) - - ZFS_MODULE_PARAM(zfs, zfs_, max_dataset_nesting, INT, ZMOD_RW, -- "Limit to the amount of nesting a path can have. Defaults to 50."); -+ "Limit to the amount of nesting a path can have. Defaults to 50.") -diff --git a/module/zcommon/zfs_prop.c b/module/zcommon/zfs_prop.c -index b4e8fcf1f..9de54aa44 100644 ---- a/module/zcommon/zfs_prop.c -+++ b/module/zcommon/zfs_prop.c -@@ -1054,32 +1054,32 @@ module_exit(zcommon_fini); - - #endif - --ZFS_MODULE_DESCRIPTION("Generic ZFS support"); --ZFS_MODULE_AUTHOR(ZFS_META_AUTHOR); --ZFS_MODULE_LICENSE(ZFS_META_LICENSE); --ZFS_MODULE_VERSION(ZFS_META_VERSION "-" ZFS_META_RELEASE); -+ZFS_MODULE_DESCRIPTION("Generic ZFS support") -+ZFS_MODULE_AUTHOR(ZFS_META_AUTHOR) -+ZFS_MODULE_LICENSE(ZFS_META_LICENSE) -+ZFS_MODULE_VERSION(ZFS_META_VERSION "-" ZFS_META_RELEASE) - - /* zfs dataset property functions */ --EXPORT_SYMBOL(zfs_userquota_prop_prefixes); --EXPORT_SYMBOL(zfs_prop_init); --EXPORT_SYMBOL(zfs_prop_get_type); --EXPORT_SYMBOL(zfs_prop_get_table); --EXPORT_SYMBOL(zfs_prop_delegatable); --EXPORT_SYMBOL(zfs_prop_visible); -+EXPORT_SYMBOL(zfs_userquota_prop_prefixes) -+EXPORT_SYMBOL(zfs_prop_init) -+EXPORT_SYMBOL(zfs_prop_get_type) -+EXPORT_SYMBOL(zfs_prop_get_table) -+EXPORT_SYMBOL(zfs_prop_delegatable) -+EXPORT_SYMBOL(zfs_prop_visible) - - /* Dataset property functions shared between libzfs and kernel. */ --EXPORT_SYMBOL(zfs_prop_default_string); --EXPORT_SYMBOL(zfs_prop_default_numeric); --EXPORT_SYMBOL(zfs_prop_readonly); --EXPORT_SYMBOL(zfs_prop_inheritable); --EXPORT_SYMBOL(zfs_prop_encryption_key_param); --EXPORT_SYMBOL(zfs_prop_valid_keylocation); --EXPORT_SYMBOL(zfs_prop_setonce); --EXPORT_SYMBOL(zfs_prop_to_name); --EXPORT_SYMBOL(zfs_name_to_prop); --EXPORT_SYMBOL(zfs_prop_user); --EXPORT_SYMBOL(zfs_prop_userquota); --EXPORT_SYMBOL(zfs_prop_index_to_string); --EXPORT_SYMBOL(zfs_prop_string_to_index); --EXPORT_SYMBOL(zfs_prop_valid_for_type); --EXPORT_SYMBOL(zfs_prop_written); -+EXPORT_SYMBOL(zfs_prop_default_string) -+EXPORT_SYMBOL(zfs_prop_default_numeric) -+EXPORT_SYMBOL(zfs_prop_readonly) -+EXPORT_SYMBOL(zfs_prop_inheritable) -+EXPORT_SYMBOL(zfs_prop_encryption_key_param) -+EXPORT_SYMBOL(zfs_prop_valid_keylocation) -+EXPORT_SYMBOL(zfs_prop_setonce) -+EXPORT_SYMBOL(zfs_prop_to_name) -+EXPORT_SYMBOL(zfs_name_to_prop) -+EXPORT_SYMBOL(zfs_prop_user) -+EXPORT_SYMBOL(zfs_prop_userquota) -+EXPORT_SYMBOL(zfs_prop_index_to_string) -+EXPORT_SYMBOL(zfs_prop_string_to_index) -+EXPORT_SYMBOL(zfs_prop_valid_for_type) -+EXPORT_SYMBOL(zfs_prop_written) --- -2.37.3 - diff --git a/pkg/zfs/patch/0009-Avoid-unnecessary-VLA.patch b/pkg/zfs/patch/0009-Avoid-unnecessary-VLA.patch @@ -0,0 +1,54 @@ +From fac76bb5a8d1b03db9aa68c3bd72999ce76b8ca5 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Sat, 21 Jan 2023 17:41:15 -0800 +Subject: [PATCH] Avoid unnecessary VLA + +--- + cmd/zpool/zpool_vdev.c | 17 ++++++++--------- + 1 file changed, 8 insertions(+), 9 deletions(-) + +diff --git a/cmd/zpool/zpool_vdev.c b/cmd/zpool/zpool_vdev.c +index fbd4b81df..a45ab7af5 100644 +--- a/cmd/zpool/zpool_vdev.c ++++ b/cmd/zpool/zpool_vdev.c +@@ -910,8 +910,7 @@ check_replication(nvlist_t *config, nvlist_t *newroot) + static int + zero_label(const char *path) + { +- const int size = 4096; +- char buf[size]; ++ char buf[4096]; + int err, fd; + + if ((fd = open(path, O_WRONLY|O_EXCL)) < 0) { +@@ -920,20 +919,20 @@ zero_label(const char *path) + return (-1); + } + +- memset(buf, 0, size); +- err = write(fd, buf, size); ++ memset(buf, 0, sizeof (buf)); ++ err = write(fd, buf, sizeof (buf)); + (void) fdatasync(fd); + (void) close(fd); + + if (err == -1) { +- (void) fprintf(stderr, gettext("cannot zero first %d bytes " +- "of '%s': %s\n"), size, path, strerror(errno)); ++ (void) fprintf(stderr, gettext("cannot zero first %zu bytes " ++ "of '%s': %s\n"), sizeof (buf), path, strerror(errno)); + return (-1); + } + +- if (err != size) { +- (void) fprintf(stderr, gettext("could only zero %d/%d bytes " +- "of '%s'\n"), err, size, path); ++ if (err != sizeof (buf)) { ++ (void) fprintf(stderr, gettext("could only zero %d/%zu bytes " ++ "of '%s'\n"), err, sizeof (buf), path); + return (-1); + } + +-- +2.37.3 + diff --git a/pkg/zfs/patch/0010-Avoid-arithmetic-on-void-pointer.patch b/pkg/zfs/patch/0010-Avoid-arithmetic-on-void-pointer.patch @@ -0,0 +1,25 @@ +From dad6fa581122eaf3eb5c65839a3fd294887ba139 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Sat, 21 Jan 2023 17:52:40 -0800 +Subject: [PATCH] Avoid arithmetic on void pointer + +--- + module/zcommon/zfs_fletcher.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/module/zcommon/zfs_fletcher.c b/module/zcommon/zfs_fletcher.c +index 619ddef02..a99865b2a 100644 +--- a/module/zcommon/zfs_fletcher.c ++++ b/module/zcommon/zfs_fletcher.c +@@ -581,7 +581,7 @@ fletcher_4_incremental_impl(boolean_t native, const void *buf, uint64_t size, + fletcher_4_incremental_combine(zcp, len, &nzc); + + size -= len; +- buf += len; ++ buf = (char *)buf + len; + } + } + +-- +2.37.3 + diff --git a/pkg/zfs/patch/0010-Avoid-unnecessary-VLA.patch b/pkg/zfs/patch/0010-Avoid-unnecessary-VLA.patch @@ -1,54 +0,0 @@ -From 2218ade9b12bc42f61d96a4613328a6f627805a1 Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Sat, 21 Jan 2023 17:41:15 -0800 -Subject: [PATCH] Avoid unnecessary VLA - ---- - cmd/zpool/zpool_vdev.c | 17 ++++++++--------- - 1 file changed, 8 insertions(+), 9 deletions(-) - -diff --git a/cmd/zpool/zpool_vdev.c b/cmd/zpool/zpool_vdev.c -index 3d83da641..521086366 100644 ---- a/cmd/zpool/zpool_vdev.c -+++ b/cmd/zpool/zpool_vdev.c -@@ -891,8 +891,7 @@ check_replication(nvlist_t *config, nvlist_t *newroot) - static int - zero_label(char *path) - { -- const int size = 4096; -- char buf[size]; -+ char buf[4096]; - int err, fd; - - if ((fd = open(path, O_WRONLY|O_EXCL)) < 0) { -@@ -901,20 +900,20 @@ zero_label(char *path) - return (-1); - } - -- memset(buf, 0, size); -- err = write(fd, buf, size); -+ memset(buf, 0, sizeof (buf)); -+ err = write(fd, buf, sizeof (buf)); - (void) fdatasync(fd); - (void) close(fd); - - if (err == -1) { -- (void) fprintf(stderr, gettext("cannot zero first %d bytes " -- "of '%s': %s\n"), size, path, strerror(errno)); -+ (void) fprintf(stderr, gettext("cannot zero first %zu bytes " -+ "of '%s': %s\n"), sizeof (buf), path, strerror(errno)); - return (-1); - } - -- if (err != size) { -- (void) fprintf(stderr, gettext("could only zero %d/%d bytes " -- "of '%s'\n"), err, size, path); -+ if (err != sizeof (buf)) { -+ (void) fprintf(stderr, gettext("could only zero %d/%zu bytes " -+ "of '%s'\n"), err, sizeof (buf), path); - return (-1); - } - --- -2.37.3 - diff --git a/pkg/zfs/patch/0011-Avoid-arithmetic-on-void-pointer.patch b/pkg/zfs/patch/0011-Avoid-arithmetic-on-void-pointer.patch @@ -1,25 +0,0 @@ -From 8a2689c718e4fdf96a5b73e4095866ddf4826135 Mon Sep 17 00:00:00 2001 -From: Michael Forney <mforney@mforney.org> -Date: Sat, 21 Jan 2023 17:52:40 -0800 -Subject: [PATCH] Avoid arithmetic on void pointer - ---- - module/zcommon/zfs_fletcher.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/module/zcommon/zfs_fletcher.c b/module/zcommon/zfs_fletcher.c -index 7a9de4a43..2faee46fe 100644 ---- a/module/zcommon/zfs_fletcher.c -+++ b/module/zcommon/zfs_fletcher.c -@@ -569,7 +569,7 @@ fletcher_4_incremental_impl(boolean_t native, const void *buf, uint64_t size, - fletcher_4_incremental_combine(zcp, len, &nzc); - - size -= len; -- buf += len; -+ buf = (char *)buf + len; - } - } - --- -2.37.3 - diff --git a/pkg/zfs/patch/0011-zstream-Disable-recompress-and-decompress.patch b/pkg/zfs/patch/0011-zstream-Disable-recompress-and-decompress.patch @@ -0,0 +1,39 @@ +From 35672849425882c7a8c24a085c4613beb62d1996 Mon Sep 17 00:00:00 2001 +From: Michael Forney <mforney@mforney.org> +Date: Fri, 22 Mar 2024 19:18:59 -0700 +Subject: [PATCH] zstream: Disable recompress and decompress + +These require building a lot more sources, so disable them for now. +--- + cmd/zstream/zstream.c | 8 -------- + 1 file changed, 8 deletions(-) + +diff --git a/cmd/zstream/zstream.c b/cmd/zstream/zstream.c +index b1509c1f2..a228f45fa 100644 +--- a/cmd/zstream/zstream.c ++++ b/cmd/zstream/zstream.c +@@ -40,10 +40,6 @@ zstream_usage(void) + "\tzstream dump [-vCd] FILE\n" + "\t... | zstream dump [-vCd]\n" + "\n" +- "\tzstream decompress [-v] [OBJECT,OFFSET[,TYPE]] ...\n" +- "\n" +- "\tzstream recompress [ -l level] TYPE\n" +- "\n" + "\tzstream token resume_token\n" + "\n" + "\tzstream redup [-v] FILE | ...\n"); +@@ -65,10 +61,6 @@ main(int argc, char *argv[]) + + if (strcmp(subcommand, "dump") == 0) { + return (zstream_do_dump(argc - 1, argv + 1)); +- } else if (strcmp(subcommand, "decompress") == 0) { +- return (zstream_do_decompress(argc - 1, argv + 1)); +- } else if (strcmp(subcommand, "recompress") == 0) { +- return (zstream_do_recompress(argc - 1, argv + 1)); + } else if (strcmp(subcommand, "token") == 0) { + return (zstream_do_token(argc - 1, argv + 1)); + } else if (strcmp(subcommand, "redup") == 0) { +-- +2.37.3 + diff --git a/pkg/zfs/sha256 b/pkg/zfs/sha256 @@ -1 +1 @@ -6462e63e185de6ff10c64ffa6ed773201a082f9dd13e603d7e8136fcb4aca71b zfs-2.1.7.tar.gz +30a512f34ec5c841b8b2b32cc9c1a03fd49391b26c9164d3fb30573fb5d81ac3 zfs-2.2.3.tar.gz diff --git a/pkg/zfs/url b/pkg/zfs/url @@ -1 +1 @@ -url = "https://github.com/openzfs/zfs/releases/download/zfs-2.1.7/zfs-2.1.7.tar.gz" +url = "https://github.com/openzfs/zfs/releases/download/zfs-2.2.3/zfs-2.2.3.tar.gz" diff --git a/pkg/zfs/ver b/pkg/zfs/ver @@ -1 +1 @@ -2.1.7 r0 +2.2.3 r0