History log of /freebsd-current/sys/contrib/openzfs/module/zfs/metaslab.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# aca928a5 31-May-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@e2357561b

Notable upstream pull request merges:
#15940 41ae864b6 Replace P2ALIGN with P2ALIGN_TYPED and delete P2ALIGN
#16128 5137c132a zpool import output is not formated properly
#16138 efbef9e6c FreeBSD: Add zfs_link_create() error handling
#16146 04bae5ec9 Disable high priority ZIO threads on FreeBSD and Linux
#16151 cc3869153 zfs_ioc_send: use a dedicated taskq thread for send
#16151 adda768e3 spa: remove spa_taskq_dispatch_sync()
#16151 515c4dd21 spa: flatten spa_taskq_dispatch_ent()
#16151 0a543db37 spa_taskq_dispatch_ent: simplify arguments
#16153 975a13259 Add support for parallel pool exports
#16153 89acef992 Simplified the scope of the namespace lock
#16159 136c05321 ZAP: Fix leaf references on zap_expand_leaf() errors
#16162 af5dbed31 Fix scn_queue races on very old pools
#16165 3400127a7 Fix ZIL clone records for legacy holes
#16167 414acbd37 Unbreak FreeBSD cross-build on MacOS broken in 051460b8b
#16172 eced2e2f1 libzfs: Fix mounting datasets under thread limit pressure
#16178 b64afa41d Better control the thread pool size when mounting datasets
#16181 fa99d9cd9 zfs_dbgmsg_print: make FreeBSD and Linux consistent
#16191 e675852bc dbuf: separate refcount calls for dbuf and dbuf_user
#16198 a043b60f1 Correct level handling in zstream recompress
#16204 34906f8bb zap: reuse zap_leaf_t on dbuf reuse after shrink
#16206 d0aa9dbcc Use memset to zero stack allocations containing unions
#16207 8865dfbca Fix assertion in Persistent L2ARC
#16208 08648cf0d Allow block cloning to be interrupted by a signal
#16210 e2357561b FreeBSD: Add const qualifier to members of struct
opensolaris_utsname
#16214 800d59d57 Some improvements to metaslabs eviction
#16216 02c5aa9b0 Destroy ARC buffer in case of fill error
#16225 01c8efdd5 Simplify issig()

Obtained from: OpenZFS
OpenZFS commit: e2357561b9499296bff758afe4868dbc39735675


# 1719886f 16-Apr-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@90ba19eb7

Notable upstream pull request merges:
#15784 90ba19eb7b Do no use .cfi_negate_ra_state within the assembly
on Arm64
#15942 b6bbaa8372 Give a better message from 'zpool get' with invalid
pool name
#15943 ca678bc0bc Makefile.bsd: sort and cleanup source file list
#15953 fa480fe5ba zinject: show more device fault fields
#15983 30c4eba4ea Fix panics when truncating/deleting files
#15992 99741bde59 zvol: use multiple taskq
#16015 a100a195fa Add support for zfs mount -R <filesystem>
#16022 5e5fd0a178 Speculative prefetch for reordered requests
#16040 997f85b4d3 L2ARC: Relax locking during write
#16042 b12738182c Improve dbuf_read() error reporting
#16051 a9a4290173 xdr: header cleanup
#16052 eeca9a91d6 Fix read errors race after block cloning
#16057 aa5445c28b Remove db_state DB_NOFILL checks from syncing context
#16061 76d1dde94c zinject: inject device errors into ioctls
#16072 9e63631dea Small fix to prefetch ranges aggregation
#16077 44f337be30 Illumos#16463 zfs_ioc_recv leaks nvlist
#16085 4725e543be zinject: "no-op" error injection
#16086 c6da985e28 Add the BTI elf note to the AArch64 SHA2 assembly

Obtained from: OpenZFS
OpenZFS commit: 90ba19eb7b81f0225e63bedfb902000d23383921


# 783d3ff6 30-Mar-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@39be46f43

Notable upstream pull request merges:
#15509 b1e46f869 Add ashift validation when adding devices to a pool
#15927 45e23abed Update resume token at object receive
#15941 bf8f72359 BRT: Skip duplicate BRT prefetches
#15950 8cd8ccca5 BRT: Skip getting length in brt_entry_lookup()
#15951 80cc51629 ZAP: Massively switch to _by_dnode() interfaces
#15954 2c01cae8b BRT: Change brt_pending_tree sorting order
#15955 4616b96a6 BRT: Relax brt_pending_apply() locking
#15959 5c4a4f82c zio: update ZIO type x stage documentation
#15962 493fcce9b Provide macros for setting and getting blkptr birth times
#15963 90ff73235 freebsd: fix missing headers in distribution tarball
#15967 f68bde723 BRT: Make BRT block sizes configurable
#15976 c28f94f32 ZAP: Some cleanups/micro-optimizations
#15995 cfb96c772 vdev_disk: clean up spa/bdev mode conversion
#16006 c0aab8b8f zvols: prevent overflow of minor device numbers
#16007 a89d209bb BRT: Fix holes cloning
#16008 c9d8f6c59 Fix option string, adding -e and fixing order

Obtained from: OpenZFS
OpenZFS commit: 39be46f43f96fb7420386d03751b01f5cb376d6b


# fd45b686 30-Jan-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2e6b3c4d9

Notable upstream pull request merges:
#15793 401c3563d libzfs: use zfs_strerror() in place of strerror()
#15793 692f0daba libzfs: make userquota_propname_decode threadsafe
#15798 0cbf13529 libnvpair.c: replace strstr() with strchr() for a single
character
#15812 78e8c1f84 Remove list_size struct member from list implementation
#15816 aeb33776f Update vdev devid and physpath if changed between imports
#15818 8161b7327 Don't assert mg_initialized due to device addition race
#15823 c3fd7a521 Update man pages to time(1) from time(2)
#15825 884a48d99 zpool wait: print timestamp before the header

Obtained from: OpenZFS
OpenZFS commit: 2e6b3c4d9453360a351af6148386360a3a7209b3


# e716630d 09-Nov-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@887a3c533

Notable upstream pull request merges:
#15022 5caeef02f RAID-Z expansion feature
#15457 887a3c533 Increase L2ARC write rate and headroom
#15504 1c1be60fa Unbreak FreeBSD world build after 3bd4df384

Obtained from: OpenZFS
OpenZFS commit: 887a3c533b94a4b70075e310f15c45b9dee19410


# b2526e8b 08-Oct-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@66b81b349

Notable upstream pull request merges:
#15290 54b1b1d89 import: require force when cachefile hostid doesn't
match on-disk
#15319 342357cd9 Reduce number of metaslab preload taskq threads
#15340 2a6c62109 ARC: Remove b_cv from struct l1arc_buf_hdr
#15347 75a2eb7fa ARC: Drop different size headers for crypto
#15350 96b9cf42e ARC: Remove b_bufcnt/b_ebufcnt from ARC headers
#15353 66b81b349 ZIL: Reduce maximum size of WR_COPIED to 7.5K
#15362 5b8688e62 zfsconcepts: add description of block cloning

Obtained from: OpenZFS
OpenZFS commit: 66b81b349749bc1ba11fa277bee860be03315429


# f7a5903d 29-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@e13538856

Notable upstream pull request merges:
#15308 5551dcd76 Don't allocate from new metaslabs
#15312 ba769ea35 Fix ENOSPC for extended quota
#15321 e13538856 Restrict short block cloning requests
#15324 f9c39dc86 Tweak rebuild in-flight hard limit

Obtained from: OpenZFS
OpenZFS commit: e13538856479ff79ca6642e53dddf8a593deb2c9


# 2ad756a6 01-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@95f71c019

Notable upstream pull request merges:
#15018 Increase limit of redaction list by using spill block
#15161 Make zoned/jailed zfsprops(7) make more sense
#15216 Relax error reporting in zpool import and zpool split
#15218 Selectable block allocators
#15227 ZIL: Tune some assertions
#15228 ZIL: Revert zl_lock scope reduction
#15233 ZIL: Change ZIOs issue order

Obtained from: OpenZFS
OpenZFS commit: 95f71c019d7c3e3b728a9b05e2117ce6b09f1b87


# 315ee00f 26-Aug-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@804414aad

Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15076 Refactor dmu_prefetch()
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress

Obtained from: OpenZFS
OpenZFS commit: 804414aad224b432590afe3f9ec114ffb49e0f13


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 1719886f 16-Apr-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@90ba19eb7

Notable upstream pull request merges:
#15784 90ba19eb7b Do no use .cfi_negate_ra_state within the assembly
on Arm64
#15942 b6bbaa8372 Give a better message from 'zpool get' with invalid
pool name
#15943 ca678bc0bc Makefile.bsd: sort and cleanup source file list
#15953 fa480fe5ba zinject: show more device fault fields
#15983 30c4eba4ea Fix panics when truncating/deleting files
#15992 99741bde59 zvol: use multiple taskq
#16015 a100a195fa Add support for zfs mount -R <filesystem>
#16022 5e5fd0a178 Speculative prefetch for reordered requests
#16040 997f85b4d3 L2ARC: Relax locking during write
#16042 b12738182c Improve dbuf_read() error reporting
#16051 a9a4290173 xdr: header cleanup
#16052 eeca9a91d6 Fix read errors race after block cloning
#16057 aa5445c28b Remove db_state DB_NOFILL checks from syncing context
#16061 76d1dde94c zinject: inject device errors into ioctls
#16072 9e63631dea Small fix to prefetch ranges aggregation
#16077 44f337be30 Illumos#16463 zfs_ioc_recv leaks nvlist
#16085 4725e543be zinject: "no-op" error injection
#16086 c6da985e28 Add the BTI elf note to the AArch64 SHA2 assembly

Obtained from: OpenZFS
OpenZFS commit: 90ba19eb7b81f0225e63bedfb902000d23383921


# 783d3ff6 30-Mar-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@39be46f43

Notable upstream pull request merges:
#15509 b1e46f869 Add ashift validation when adding devices to a pool
#15927 45e23abed Update resume token at object receive
#15941 bf8f72359 BRT: Skip duplicate BRT prefetches
#15950 8cd8ccca5 BRT: Skip getting length in brt_entry_lookup()
#15951 80cc51629 ZAP: Massively switch to _by_dnode() interfaces
#15954 2c01cae8b BRT: Change brt_pending_tree sorting order
#15955 4616b96a6 BRT: Relax brt_pending_apply() locking
#15959 5c4a4f82c zio: update ZIO type x stage documentation
#15962 493fcce9b Provide macros for setting and getting blkptr birth times
#15963 90ff73235 freebsd: fix missing headers in distribution tarball
#15967 f68bde723 BRT: Make BRT block sizes configurable
#15976 c28f94f32 ZAP: Some cleanups/micro-optimizations
#15995 cfb96c772 vdev_disk: clean up spa/bdev mode conversion
#16006 c0aab8b8f zvols: prevent overflow of minor device numbers
#16007 a89d209bb BRT: Fix holes cloning
#16008 c9d8f6c59 Fix option string, adding -e and fixing order

Obtained from: OpenZFS
OpenZFS commit: 39be46f43f96fb7420386d03751b01f5cb376d6b


# fd45b686 30-Jan-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2e6b3c4d9

Notable upstream pull request merges:
#15793 401c3563d libzfs: use zfs_strerror() in place of strerror()
#15793 692f0daba libzfs: make userquota_propname_decode threadsafe
#15798 0cbf13529 libnvpair.c: replace strstr() with strchr() for a single
character
#15812 78e8c1f84 Remove list_size struct member from list implementation
#15816 aeb33776f Update vdev devid and physpath if changed between imports
#15818 8161b7327 Don't assert mg_initialized due to device addition race
#15823 c3fd7a521 Update man pages to time(1) from time(2)
#15825 884a48d99 zpool wait: print timestamp before the header

Obtained from: OpenZFS
OpenZFS commit: 2e6b3c4d9453360a351af6148386360a3a7209b3


# e716630d 09-Nov-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@887a3c533

Notable upstream pull request merges:
#15022 5caeef02f RAID-Z expansion feature
#15457 887a3c533 Increase L2ARC write rate and headroom
#15504 1c1be60fa Unbreak FreeBSD world build after 3bd4df384

Obtained from: OpenZFS
OpenZFS commit: 887a3c533b94a4b70075e310f15c45b9dee19410


# b2526e8b 08-Oct-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@66b81b349

Notable upstream pull request merges:
#15290 54b1b1d89 import: require force when cachefile hostid doesn't
match on-disk
#15319 342357cd9 Reduce number of metaslab preload taskq threads
#15340 2a6c62109 ARC: Remove b_cv from struct l1arc_buf_hdr
#15347 75a2eb7fa ARC: Drop different size headers for crypto
#15350 96b9cf42e ARC: Remove b_bufcnt/b_ebufcnt from ARC headers
#15353 66b81b349 ZIL: Reduce maximum size of WR_COPIED to 7.5K
#15362 5b8688e62 zfsconcepts: add description of block cloning

Obtained from: OpenZFS
OpenZFS commit: 66b81b349749bc1ba11fa277bee860be03315429


# f7a5903d 29-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@e13538856

Notable upstream pull request merges:
#15308 5551dcd76 Don't allocate from new metaslabs
#15312 ba769ea35 Fix ENOSPC for extended quota
#15321 e13538856 Restrict short block cloning requests
#15324 f9c39dc86 Tweak rebuild in-flight hard limit

Obtained from: OpenZFS
OpenZFS commit: e13538856479ff79ca6642e53dddf8a593deb2c9


# 2ad756a6 01-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@95f71c019

Notable upstream pull request merges:
#15018 Increase limit of redaction list by using spill block
#15161 Make zoned/jailed zfsprops(7) make more sense
#15216 Relax error reporting in zpool import and zpool split
#15218 Selectable block allocators
#15227 ZIL: Tune some assertions
#15228 ZIL: Revert zl_lock scope reduction
#15233 ZIL: Change ZIOs issue order

Obtained from: OpenZFS
OpenZFS commit: 95f71c019d7c3e3b728a9b05e2117ce6b09f1b87


# 315ee00f 26-Aug-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@804414aad

Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15076 Refactor dmu_prefetch()
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress

Obtained from: OpenZFS
OpenZFS commit: 804414aad224b432590afe3f9ec114ffb49e0f13


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 783d3ff6 30-Mar-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@39be46f43

Notable upstream pull request merges:
#15509 b1e46f869 Add ashift validation when adding devices to a pool
#15927 45e23abed Update resume token at object receive
#15941 bf8f72359 BRT: Skip duplicate BRT prefetches
#15950 8cd8ccca5 BRT: Skip getting length in brt_entry_lookup()
#15951 80cc51629 ZAP: Massively switch to _by_dnode() interfaces
#15954 2c01cae8b BRT: Change brt_pending_tree sorting order
#15955 4616b96a6 BRT: Relax brt_pending_apply() locking
#15959 5c4a4f82c zio: update ZIO type x stage documentation
#15962 493fcce9b Provide macros for setting and getting blkptr birth times
#15963 90ff73235 freebsd: fix missing headers in distribution tarball
#15967 f68bde723 BRT: Make BRT block sizes configurable
#15976 c28f94f32 ZAP: Some cleanups/micro-optimizations
#15995 cfb96c772 vdev_disk: clean up spa/bdev mode conversion
#16006 c0aab8b8f zvols: prevent overflow of minor device numbers
#16007 a89d209bb BRT: Fix holes cloning
#16008 c9d8f6c59 Fix option string, adding -e and fixing order

Obtained from: OpenZFS
OpenZFS commit: 39be46f43f96fb7420386d03751b01f5cb376d6b


# fd45b686 30-Jan-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2e6b3c4d9

Notable upstream pull request merges:
#15793 401c3563d libzfs: use zfs_strerror() in place of strerror()
#15793 692f0daba libzfs: make userquota_propname_decode threadsafe
#15798 0cbf13529 libnvpair.c: replace strstr() with strchr() for a single
character
#15812 78e8c1f84 Remove list_size struct member from list implementation
#15816 aeb33776f Update vdev devid and physpath if changed between imports
#15818 8161b7327 Don't assert mg_initialized due to device addition race
#15823 c3fd7a521 Update man pages to time(1) from time(2)
#15825 884a48d99 zpool wait: print timestamp before the header

Obtained from: OpenZFS
OpenZFS commit: 2e6b3c4d9453360a351af6148386360a3a7209b3


# e716630d 09-Nov-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@887a3c533

Notable upstream pull request merges:
#15022 5caeef02f RAID-Z expansion feature
#15457 887a3c533 Increase L2ARC write rate and headroom
#15504 1c1be60fa Unbreak FreeBSD world build after 3bd4df384

Obtained from: OpenZFS
OpenZFS commit: 887a3c533b94a4b70075e310f15c45b9dee19410


# b2526e8b 08-Oct-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@66b81b349

Notable upstream pull request merges:
#15290 54b1b1d89 import: require force when cachefile hostid doesn't
match on-disk
#15319 342357cd9 Reduce number of metaslab preload taskq threads
#15340 2a6c62109 ARC: Remove b_cv from struct l1arc_buf_hdr
#15347 75a2eb7fa ARC: Drop different size headers for crypto
#15350 96b9cf42e ARC: Remove b_bufcnt/b_ebufcnt from ARC headers
#15353 66b81b349 ZIL: Reduce maximum size of WR_COPIED to 7.5K
#15362 5b8688e62 zfsconcepts: add description of block cloning

Obtained from: OpenZFS
OpenZFS commit: 66b81b349749bc1ba11fa277bee860be03315429


# f7a5903d 29-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@e13538856

Notable upstream pull request merges:
#15308 5551dcd76 Don't allocate from new metaslabs
#15312 ba769ea35 Fix ENOSPC for extended quota
#15321 e13538856 Restrict short block cloning requests
#15324 f9c39dc86 Tweak rebuild in-flight hard limit

Obtained from: OpenZFS
OpenZFS commit: e13538856479ff79ca6642e53dddf8a593deb2c9


# 2ad756a6 01-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@95f71c019

Notable upstream pull request merges:
#15018 Increase limit of redaction list by using spill block
#15161 Make zoned/jailed zfsprops(7) make more sense
#15216 Relax error reporting in zpool import and zpool split
#15218 Selectable block allocators
#15227 ZIL: Tune some assertions
#15228 ZIL: Revert zl_lock scope reduction
#15233 ZIL: Change ZIOs issue order

Obtained from: OpenZFS
OpenZFS commit: 95f71c019d7c3e3b728a9b05e2117ce6b09f1b87


# 315ee00f 26-Aug-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@804414aad

Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15076 Refactor dmu_prefetch()
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress

Obtained from: OpenZFS
OpenZFS commit: 804414aad224b432590afe3f9ec114ffb49e0f13


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# fd45b686 30-Jan-2024 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2e6b3c4d9

Notable upstream pull request merges:
#15793 401c3563d libzfs: use zfs_strerror() in place of strerror()
#15793 692f0daba libzfs: make userquota_propname_decode threadsafe
#15798 0cbf13529 libnvpair.c: replace strstr() with strchr() for a single
character
#15812 78e8c1f84 Remove list_size struct member from list implementation
#15816 aeb33776f Update vdev devid and physpath if changed between imports
#15818 8161b7327 Don't assert mg_initialized due to device addition race
#15823 c3fd7a521 Update man pages to time(1) from time(2)
#15825 884a48d99 zpool wait: print timestamp before the header

Obtained from: OpenZFS
OpenZFS commit: 2e6b3c4d9453360a351af6148386360a3a7209b3


# e716630d 09-Nov-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@887a3c533

Notable upstream pull request merges:
#15022 5caeef02f RAID-Z expansion feature
#15457 887a3c533 Increase L2ARC write rate and headroom
#15504 1c1be60fa Unbreak FreeBSD world build after 3bd4df384

Obtained from: OpenZFS
OpenZFS commit: 887a3c533b94a4b70075e310f15c45b9dee19410


# b2526e8b 08-Oct-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@66b81b349

Notable upstream pull request merges:
#15290 54b1b1d89 import: require force when cachefile hostid doesn't
match on-disk
#15319 342357cd9 Reduce number of metaslab preload taskq threads
#15340 2a6c62109 ARC: Remove b_cv from struct l1arc_buf_hdr
#15347 75a2eb7fa ARC: Drop different size headers for crypto
#15350 96b9cf42e ARC: Remove b_bufcnt/b_ebufcnt from ARC headers
#15353 66b81b349 ZIL: Reduce maximum size of WR_COPIED to 7.5K
#15362 5b8688e62 zfsconcepts: add description of block cloning

Obtained from: OpenZFS
OpenZFS commit: 66b81b349749bc1ba11fa277bee860be03315429


# f7a5903d 29-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@e13538856

Notable upstream pull request merges:
#15308 5551dcd76 Don't allocate from new metaslabs
#15312 ba769ea35 Fix ENOSPC for extended quota
#15321 e13538856 Restrict short block cloning requests
#15324 f9c39dc86 Tweak rebuild in-flight hard limit

Obtained from: OpenZFS
OpenZFS commit: e13538856479ff79ca6642e53dddf8a593deb2c9


# 2ad756a6 01-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@95f71c019

Notable upstream pull request merges:
#15018 Increase limit of redaction list by using spill block
#15161 Make zoned/jailed zfsprops(7) make more sense
#15216 Relax error reporting in zpool import and zpool split
#15218 Selectable block allocators
#15227 ZIL: Tune some assertions
#15228 ZIL: Revert zl_lock scope reduction
#15233 ZIL: Change ZIOs issue order

Obtained from: OpenZFS
OpenZFS commit: 95f71c019d7c3e3b728a9b05e2117ce6b09f1b87


# 315ee00f 26-Aug-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@804414aad

Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15076 Refactor dmu_prefetch()
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress

Obtained from: OpenZFS
OpenZFS commit: 804414aad224b432590afe3f9ec114ffb49e0f13


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# e716630d 09-Nov-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@887a3c533

Notable upstream pull request merges:
#15022 5caeef02f RAID-Z expansion feature
#15457 887a3c533 Increase L2ARC write rate and headroom
#15504 1c1be60fa Unbreak FreeBSD world build after 3bd4df384

Obtained from: OpenZFS
OpenZFS commit: 887a3c533b94a4b70075e310f15c45b9dee19410


# b2526e8b 08-Oct-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@66b81b349

Notable upstream pull request merges:
#15290 54b1b1d89 import: require force when cachefile hostid doesn't
match on-disk
#15319 342357cd9 Reduce number of metaslab preload taskq threads
#15340 2a6c62109 ARC: Remove b_cv from struct l1arc_buf_hdr
#15347 75a2eb7fa ARC: Drop different size headers for crypto
#15350 96b9cf42e ARC: Remove b_bufcnt/b_ebufcnt from ARC headers
#15353 66b81b349 ZIL: Reduce maximum size of WR_COPIED to 7.5K
#15362 5b8688e62 zfsconcepts: add description of block cloning

Obtained from: OpenZFS
OpenZFS commit: 66b81b349749bc1ba11fa277bee860be03315429


# f7a5903d 29-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@e13538856

Notable upstream pull request merges:
#15308 5551dcd76 Don't allocate from new metaslabs
#15312 ba769ea35 Fix ENOSPC for extended quota
#15321 e13538856 Restrict short block cloning requests
#15324 f9c39dc86 Tweak rebuild in-flight hard limit

Obtained from: OpenZFS
OpenZFS commit: e13538856479ff79ca6642e53dddf8a593deb2c9


# 2ad756a6 01-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@95f71c019

Notable upstream pull request merges:
#15018 Increase limit of redaction list by using spill block
#15161 Make zoned/jailed zfsprops(7) make more sense
#15216 Relax error reporting in zpool import and zpool split
#15218 Selectable block allocators
#15227 ZIL: Tune some assertions
#15228 ZIL: Revert zl_lock scope reduction
#15233 ZIL: Change ZIOs issue order

Obtained from: OpenZFS
OpenZFS commit: 95f71c019d7c3e3b728a9b05e2117ce6b09f1b87


# 315ee00f 26-Aug-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@804414aad

Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15076 Refactor dmu_prefetch()
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress

Obtained from: OpenZFS
OpenZFS commit: 804414aad224b432590afe3f9ec114ffb49e0f13


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# b2526e8b 08-Oct-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@66b81b349

Notable upstream pull request merges:
#15290 54b1b1d89 import: require force when cachefile hostid doesn't
match on-disk
#15319 342357cd9 Reduce number of metaslab preload taskq threads
#15340 2a6c62109 ARC: Remove b_cv from struct l1arc_buf_hdr
#15347 75a2eb7fa ARC: Drop different size headers for crypto
#15350 96b9cf42e ARC: Remove b_bufcnt/b_ebufcnt from ARC headers
#15353 66b81b349 ZIL: Reduce maximum size of WR_COPIED to 7.5K
#15362 5b8688e62 zfsconcepts: add description of block cloning

Obtained from: OpenZFS
OpenZFS commit: 66b81b349749bc1ba11fa277bee860be03315429


# f7a5903d 29-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@e13538856

Notable upstream pull request merges:
#15308 5551dcd76 Don't allocate from new metaslabs
#15312 ba769ea35 Fix ENOSPC for extended quota
#15321 e13538856 Restrict short block cloning requests
#15324 f9c39dc86 Tweak rebuild in-flight hard limit

Obtained from: OpenZFS
OpenZFS commit: e13538856479ff79ca6642e53dddf8a593deb2c9


# 2ad756a6 01-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@95f71c019

Notable upstream pull request merges:
#15018 Increase limit of redaction list by using spill block
#15161 Make zoned/jailed zfsprops(7) make more sense
#15216 Relax error reporting in zpool import and zpool split
#15218 Selectable block allocators
#15227 ZIL: Tune some assertions
#15228 ZIL: Revert zl_lock scope reduction
#15233 ZIL: Change ZIOs issue order

Obtained from: OpenZFS
OpenZFS commit: 95f71c019d7c3e3b728a9b05e2117ce6b09f1b87


# 315ee00f 26-Aug-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@804414aad

Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15076 Refactor dmu_prefetch()
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress

Obtained from: OpenZFS
OpenZFS commit: 804414aad224b432590afe3f9ec114ffb49e0f13


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# f7a5903d 29-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@e13538856

Notable upstream pull request merges:
#15308 5551dcd76 Don't allocate from new metaslabs
#15312 ba769ea35 Fix ENOSPC for extended quota
#15321 e13538856 Restrict short block cloning requests
#15324 f9c39dc86 Tweak rebuild in-flight hard limit

Obtained from: OpenZFS
OpenZFS commit: e13538856479ff79ca6642e53dddf8a593deb2c9


# 2ad756a6 01-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@95f71c019

Notable upstream pull request merges:
#15018 Increase limit of redaction list by using spill block
#15161 Make zoned/jailed zfsprops(7) make more sense
#15216 Relax error reporting in zpool import and zpool split
#15218 Selectable block allocators
#15227 ZIL: Tune some assertions
#15228 ZIL: Revert zl_lock scope reduction
#15233 ZIL: Change ZIOs issue order

Obtained from: OpenZFS
OpenZFS commit: 95f71c019d7c3e3b728a9b05e2117ce6b09f1b87


# 315ee00f 26-Aug-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@804414aad

Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15076 Refactor dmu_prefetch()
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress

Obtained from: OpenZFS
OpenZFS commit: 804414aad224b432590afe3f9ec114ffb49e0f13


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 2ad756a6 01-Sep-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@95f71c019

Notable upstream pull request merges:
#15018 Increase limit of redaction list by using spill block
#15161 Make zoned/jailed zfsprops(7) make more sense
#15216 Relax error reporting in zpool import and zpool split
#15218 Selectable block allocators
#15227 ZIL: Tune some assertions
#15228 ZIL: Revert zl_lock scope reduction
#15233 ZIL: Change ZIOs issue order

Obtained from: OpenZFS
OpenZFS commit: 95f71c019d7c3e3b728a9b05e2117ce6b09f1b87


# 315ee00f 26-Aug-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@804414aad

Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15076 Refactor dmu_prefetch()
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress

Obtained from: OpenZFS
OpenZFS commit: 804414aad224b432590afe3f9ec114ffb49e0f13


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 315ee00f 26-Aug-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@804414aad

Notable upstream pull request merges:
#15024 Add missed DMU_PROJECTUSED_OBJECT prefetch
#15029 Do not request data L1 buffers on scan prefetch
#15036 FreeBSD: catch up to __FreeBSD_version 1400093
#15039 Fix raw receive with different indirect block size
#15047 FreeBSD: Fix build on stable/13 after 1302506
#15049 Fix the ZFS checksum error histograms with larger record sizes
#15052 Reduce bloat in ereport.fs.zfs.checksum events
#15056 Avoid extra snprintf() in dsl_deadlist_merge()
#15061 Ignore pool ashift property during vdev attachment
#15063 Don't panic if setting vdev properties is unsupported for this vdev type
#15067 spa_min_alloc should be GCD, not min
#15071 Add explicit prefetches to bpobj_iterate()
#15072 Adjust prefetch parameters
#15076 Refactor dmu_prefetch()
#15079 set autotrim default to 'off' everywhere
#15080 ZIL: Fix config lock deadlock
#15088 metaslab: tuneable to better control force ganging
#15096 Avoid waiting in dmu_sync_late_arrival()
#15097 BRT should return EOPNOTSUPP
#15103 Remove zl_issuer_lock from zil_suspend()
#15107 Remove fastwrite mechanism
#15113 libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1
#15122 ZIL: Second attempt to reduce scope of zl_issuer_lock
#15129 zpool_vdev_remove() should handle EALREADY error return
#15132 ZIL: Replay blocks without next block pointer
#15148 zfs_clone_range should return descriptive error codes
#15153 ZIL: Avoid dbuf_read() before dmu_sync()
#15172 copy_file_range: fix fallback when source create on same txg
#15180 Update outdated assertion from zio_write_compress

Obtained from: OpenZFS
OpenZFS commit: 804414aad224b432590afe3f9ec114ffb49e0f13


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 4e8d558c 10-Jun-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@feff9dfed

Notable upstream pull request merges:
#14833 Update compatibility.d files
#14841 ZIL: Reduce scope of per-dataset zl_issuer_lock
#14863 zil: Add some more statistics
#14866 btree: Implement faster binary search algorithm
#14894 Fix inconsistent definition of zfs_scrub_error_blocks_per_txg
#14892 Fix concurrent resilvers initiated at same time
#14903 Fix NULL pointer dereference when doing concurrent 'send' operations
#14910 ZIL: Allow to replay blocks of any size
#14939 Fix the L2ARC write size calculating logic
#14934 Introduce zfs_refcount_(add|remove)_few()
#14946 Improve l2arc reporting in arc_summary
#14953 Finally drop long disabled vdev cache
#14954 Fix the L2ARC write size calculating logic (2)
#14955 Use list_remove_head() where possible
#14959 ZIL: Fix race introduced by f63811f0721

Obtained from: OpenZFS
OpenZFS commit: feff9dfed3df1bbae5dd74959a6ad87d11f27ffb


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 15f0b8c3 25-Jan-2023 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@9cd71c860 (master)

Notable upstream pull request merges:
#13805 Configure zed's diagnosis engine with vdev properties
#14110 zfs list: Allow more fields in ZFS_ITER_SIMPLE mode
#14121 Batch enqueue/dequeue for bqueue
#14123 arc_read()/arc_access() refactoring and cleanup
#14159 Bypass metaslab throttle for removal allocations
#14243 Implement uncached prefetch
#14251 Cache dbuf_hash() calculation
#14253 Allow reciever to override encryption property in case of replication
#14254 Restrict visibility of per-dataset kstats inside FreeBSD jails
#14255 Zero end of embedded block buffer in dump_write_embedded()
#14263 Cleanups identified by CodeQL and Coverity
#14264 Miscellaneous fixes
#14272 Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names
#14287 FreeBSD: Remove stray debug printf
#14288 Colorize zfs diff output
#14289 deadlock between spa_errlog_lock and dp_config_rwlock
#14291 FreeBSD: Fix potential boot panic with bad label
#14292 Add tunable to allow changing micro ZAP's max size
#14293 Turn default_bs and default_ibs into ZFS_MODULE_PARAMs
#14295 zed: add hotplug support for spare vdevs
#14304 Activate filesystem features only in syncing context
#14311 zpool: do guid-based comparison in is_vdev_cb()
#14317 Pack zrlock_t by 8 bytes
#14320 Update arc_summary and arcstat outputs
#14328 FreeBSD: catch up to 1400077
#14376 Use setproctitle to report progress of zfs send
#14340 Remove some dead ARC code
#14358 Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole
#14360 libzpool: fix ddi_strtoull to update nptr
#14364 Fix unprotected zfs_znode_dmu_fini
#14379 zfs_receive_one: Check for the more likely error first
#14380 Cleanup of dead code suggested by Clang Static Analyzer
#14397 Avoid passing an uninitialized index to dsl_prop_known_index
#14404 Fix reading uninitialized variable in receive_read
#14407 free_blocks(): Fix reports from 2016 PVS Studio FreeBSD report
#14418 Introduce minimal ZIL block commit delay
#14422 x86 assembly: fix .size placement and replace .align with .balign

Obtained from: OpenZFS
OpenZFS commit: 9cd71c8604d52def22ffaddc35755712f0fb9349


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# dbd5678d 16-Nov-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@2163cde45

Notable upstream pull request merges:
#13680 Add options to zfs redundant_metadata property
#13758 Allow mounting snapshots in .zfs/snapshot as a regular user
#13838 quota: disable quota check for ZVOL
#13839 quota: extend quota for dataset
#13973 Fix memory leaks in dmu_send()/dmu_send_obj()
#13977 Avoid unnecessary metaslab_check_free calling
#13978 PAM: Fix unchecked return value from zfs_key_config_load()
#13979 Handle possible null pointers from malloc/strdup/strndup()
#13997 zstream: allow decompress to fix metadata for uncompressed
records
#13998 zvol_wait logic may terminate prematurely
#14001 FreeBSD: Fix a pair of bugs in zfs_fhtovp()
#14003 Stop ganging due to past vdev write errors
#14039 Optimize microzaps
#14050 Fix draid2+2s metadata error on simultaneous 2 drive failures
#14062 zed: Avoid core dump if wholedisk property does not exist
#14077 Propagate extent_bytes change to autotrim thread
#14079 FreeBSD: vn_flush_cached_data: observe vnode locking contract
#14093 Fix ARC target collapse when zfs_arc_meta_limit_percent=100
#14106 Add ability to recompress send streams with new compression
algorithm
#14119 Deny receiving into encrypted datasets if the keys are not
loaded
#14120 Fix arc_p aggressive increase
#14129 zed: Prevent special vdev to be replaced by hot spare
#14133 Expose zfs_vdev_open_timeout_ms as a tunable
#14135 FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy()
#14152 Adds the `-p` option to `zfs holds`
#14161 Handle and detect #13709's unlock regression

Obtained from: OpenZFS
OpenZFS commit: 2163cde450d0898b5f7bac16afb4e238485411ff


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# be181ee2 04-Oct-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@d62bafee9

Notable upstream pull request merges:
#13857 Enforce "-F" flag on resuming recv of full/newfs on existing dataset
#13928 Revert "Reduce dbuf_find() lock contention"
#13928 Dynamically size dbuf hash mutex array
#13930 zpool: Don't print "repairing" on force faulted drives
#13938 Bring per_txg_dirty_frees_percent back to 30
#13939 Fix panic in dsl_process_sub_livelist for EINTR
#13954 Fix bad free in skein code
#13967 Fix potential NULL pointer dereference in dsl_dataset_promote_check()

Obtained from: OpenZFS
OpenZFS commit: d62bafee9fc38f8b9653c531e1861e83dcba4618


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 271171e0 13-Aug-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@b3d0568cf

Notable upstream pull request merges:
#9372 Implement a new type of zfs receive: corrective receive (-c)
#13635 Add snapshots_changed as property
#13636 Add support for per dataset zil stats and use wmsum counters
#13643 Fix scrub resume from newly created hole
#13670 Fix memory allocation for the checksum benchmark
#13695 Skip checksum benchmarks on systems with slow cpu
#13711 zpool: fix redundancy check after vdev removal

Obtained from: OpenZFS
OpenZFS commit: b3d0568cfd65458c92f7ab3d7bb709087992628e


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# a0b956f5 07-Jul-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@cb01da680

Notable upstream pull request merges:
#12438 Avoid panic with recordsize > 128k, raw sending and no large_blocks
#13015 Fix dnode byteswapping
#13256 Add a "zstream decompress" subcommand
#13555 Scrub mirror children without BPs
#13576 Several sorted scrub optimizations
#13579 Fix and disable blocks statistics during scrub
#13582 Several B-tree optimizations
#13591 Avoid two 64-bit divisions per scanned block
#13606 Avoid memory copies during mirror scrub
#13613 Avoid memory copy when verifying raidz/draid parity

Obtained from: OpenZFS
OpenZFS commit: cb01da68057dcb9e612e8d2e97d058c46c3574af


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 716fd348 18-May-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@c0cf6ed67

Notable upstream pull request merges:
#10662 zvol_wait: Ignore locked zvols
#12789 Improve log spacemap load time
#12812 Improved zpool status output, list all affected datasets
#13277 FreeBSD: Use NDFREE_PNBUF if available
#13302 Make zfs_max_recordsize default to 16M
#13311 Fix error handling in FreeBSD's get/putpages VOPs
#13345 FreeBSD: Fix translation from ABD to physical pages
#13373 zfs: holds: dequadratify
#13375 Corrected edge case in uncompressed ARC->L2ARC handling
#13388 Improve mg_aliquot math
#13405 Reduce dbuf_find() lock contention
#13406 FreeBSD: use zero_region instead of allocating a dedicated page

Obtained from: OpenZFS
OpenZFS commit: c0cf6ed6792e545fd614c2a88cb53756db7e03f8


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# da5137ab 28-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@bc3f12bfa (master) into main

Notable upstream pull request merges:
#12083 libzfs: FreeBSD doesn't resize partitions for you
#13106 add physical device size to SIZE column in 'zpool list -v'
#13158 Allow zfs send to exclude datasets
#13190 module: zfs: zio_inject: zio_match_handler: don't << -1
#13219 FreeBSD: add missing replay check to an assert in zfs_xvattr_set
#13220 module: freebsd: avoid a taking a destroyed lock in zfs_zevent bits
#13221 Fix ACL checks for NFS kernel server

Obtained from: OpenZFS
OpenZFS commit: bc3f12bfac152a0c28951cec92340ba14f9ccee9


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# c03c5b1c 08-Mar-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@a86e08941 (master) into main

Notable upstream pull request merges:
#9078: log xattr=sa create/remove/update to ZIL
#11919: Cross-platform xattr user namespace compatibility
#13014: Report dnodes with faulty bonuslen
#13016: FreeBSD: Fix zvol_cdev_open locking
#13019: spl: Don't check FreeBSD rwlocks for double initialization
#13027: Fix clearing set-uid and set-gid bits on a file when
replying a write
#13031: Add enumerated vdev names to 'zpool iostat -v' and
'zpool list -v'
#13074: Enable encrypted raw sending to pools with greater ashift
#13076: Receive checks should allow unencrypted child datasets
#13098: Avoid dirtying the final TXGs when exporting a pool
#13172: Fix ENOSPC when unlinking multiple files from full pool

Obtained from: OpenZFS
OpenZFS commit: a86e089415679cf1b98eb424a159bb36aa2c19e3


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# e92ffd9b 22-Jan-2022 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

Notable upstream pull request merges:
#12766 Fix error propagation from lzc_send_redacted
#12805 Updated the lz4 decompressor
#12851 FreeBSD: Provide correct file generation number
#12857 Verify dRAID empty sectors
#12874 FreeBSD: Update argument types for VOP_READDIR
#12896 Reduce number of arc_prune threads
#12934 FreeBSD: Fix zvol_*_open() locking
#12947 lz4: Cherrypick fix for CVE-2021-3520
#12961 FreeBSD: Fix leaked strings in libspl mnttab
#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
#12981 Introduce a flag to skip comparing the local mac when raw sending
#12985 Avoid memory allocations in the ARC eviction thread

Obtained from: OpenZFS
OpenZFS commit: 17b2ae0b24d487fdda2ef1098ec26fa7f79a61f6


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 81b22a98 10-Nov-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@6c8f03232 (master) into main

Notable upstream pull request merges:
#12333: Creating gang ABDs for Raidz optional IOs
#12668: FreeBSD: Catch up with recent VFS changes
#12687: Skip spacemaps reading in case of pool readonly import
#12704: Fix some FreeBSD VOPs to synchronize properly with teardown
#12724: Fix lseek(SEEK_DATA/SEEK_HOLE) mmap consistency

Obtained from: OpenZFS
OpenZFS commit: 6c8f03232aa98e950bfe187f9ff53d3541687b50


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 1f88aa09 07-Aug-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@f3678d70f (master) into main

Notable upstream pull request merges:
#12339 Read past end of argv array in zpool_do_import()
#12365 Fixes in persistent L2ARC
#12383 Fixes for KMSAN reports
#12425 Avoid small buffer copying on write
#12428 Fix unfortunate NULL in spa_update_dspace
#12446 Allow disabling of unmapped I/O on FreeBSD

Obtained from: OpenZFS
OpenZFS commit: f3678d70ff8f98d67caf377ec0326c9a6c7bcf29


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 3f9d360c 22-Jul-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@14b43fbd9 (master) into main

Notable upstream pull request merges:
#12271 Tinker with slop space accounting with dedup
#12279 Fix ARC ghost states eviction accounting
#12284 Add Module Parameter Regarding Log Size Limit
#12300 Introduce dsl_dir_diduse_transfer_space()
#12314 Optimize allocation throttling
#12348 Minor ARC optimizations
#12350 Detect HAVE_LARGE_STACKS at compile time
#12356 Use SET_ERROR for more errors in FreeBSD vnops
#12375 FreeBSD: Ignore make_dev_s() errors
#12378 FreeBSD: Switch from MAXPHYS to maxphys on FreeBSD 13+

Obtained from: OpenZFS
OpenZFS commit: 14b43fbd9c13d802409ed886bb6b66fd528fb209


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 2617128a 30-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@4694131a0 (master) into main

Notable upstream pull request merges:
#12253 module/zfs: simplify ddt_stat_add() loop
#12288 Avoid 64bit division in multilist index functions

Obtained from: OpenZFS
OpenZFS commit: 4694131a0a05b6db2727c9801f9729b9378d3064


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 33b8c039 25-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@5e2c8338b (master) into main

Notable upstream pull request merges:
#12183 Optimize small random numbers generation
#12227 Revert Consolidate arc_buf allocation checks
#12266 Fix flag copying in resume case
#12273 zfs_metaslab_mem_limit should be 25 instead of 75
#12276 Update cache file when setting compatibility property
#12280 Help compiller optimize out abd_verify()
#12282 FreeBSD: fix compilation of FreeBSD world after 29274c9f6

Obtained from: OpenZFS
OpenZFS commit: 5e2c8338bf17d31b44eb1dbbb3c9b6a0f64e96ee


# 3ff01b23 12-Jun-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@afa7b3484 (master) into main

Notable upstream pull request merges:
#12149: Multiple man-pages: Move to appropriate section
#12158: Re-embed multilist_t storage
#12191: Convert non-libzpool libraries to -fvisibility=hidden
#12196: Unify manpage makefiles, move pages to better sexions, ...
#12210: libzutil: import filtering optimisation
#12212: Remove pool io kstats

Obtained from: OpenZFS
OpenZFS commit: afa7b3484556d3ae610a34582ce5ebd2c3e27bba


# 6db169e9 13-Apr-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge openzfs/zfs@3522f57b6 (master)

Notable upstream pull request merges:
#11742 When specifying raidz vdev name, parity count should match
#11744 Use a helper function to clarify gang block size
#11771 Support running FreeBSD buildworld on Arm-based macOS hosts

This is the last update that will be MFCed into stable/13.

From now on, the tracking of OpenZFS branches will be different:
- main continues tracking openzfs/zfs/master
- stable/13 is going to track openzfs/zfs/zfs-2.1-release

Obtained from: OpenZFS
MFC after: 1 week


# f9693bef 20-Mar-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-891568c99

Notable upstream pull request merges:
#11652 Split dmu_zfetch() speculation and execution parts
#11682 Fix zfs_get_data access to files with wrong generation
#11735 Clean up RAIDZ/DRAID ereport code
#11737 Initialize metaslab range trees in metaslab_init
#11739 FreeBSD: make seqc asserts conditional on replay
#11763 Allow setting bootfs property on pools with indirect vdevs
#11767 FreeBSD: Fix memory leaks in kstats

Obtained from: OpenZFS
MFC after: 2 weeks


# 184c1b94 15-Feb-2021 Martin Matuska <mm@FreeBSD.org>

zfs: merge OpenZFS master-436ab35a5

- speed up writing to ZFS pools without ZIL devices (aa755b3)
- speed up importing ZFS pools (2d8f72d, a0e0199, cf0977a)
...

MFC after: 2 weeks
Reviewed by: mjg (partial)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D28677


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...

# 2c48331d 18-Sep-2020 Matt Macy <mmacy@FreeBSD.org>

MFV 2.0-rc2

- Fixes divide by zero for unusual hz
- remove cryptodev dependency


# eda14cbc 24-Aug-2020 Matt Macy <mmacy@FreeBSD.org>

Initial import from vendor-sys branch of openzfs


# 7877fdeb 07-Jan-2021 Matt Macy <mmacy@FreeBSD.org>

OpenZFS merge main-gf11b09

- add dRAID support
- fix duplicate close handling
- fix memory leak in prefetch
- fix problem with SIMD benchmarking on FreeBSD boot
...