aboutsummaryrefslogtreecommitdiff
path: root/sys/contrib/openzfs/module/zfs
Commit message (Collapse)AuthorAgeFilesLines
* zfs: merge openzfs/zfs@37af89948Martin Matuska2026-06-2713-109/+377
| | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #18509 f16b3744d zstream: refactor common functions #18573 -multiple Persist z_seq across znode eviction s18611 eb0c674c2 zfs_ioctl: fix EBUSY race between quota queries and mount #18637 77e64d86e Fix self-deadlock when setting the "allocating"/"path" vdev property #18645 e3082b923 freebsd: set mnt_time on the rootfs at mountroot time #18652 50d012b2a zbookmark_compare: handle "marker" bookmarks with negative levels #18664 520eeeaa6 Improve performance of "zpool offline" for log devices #18668 6b8f79877 Avoid more abd_t allocations in RAIDZ/dRAID #18669 99ab859c3 Optimize metaslab_set_selected_txg() #18673 97b9ba7a9 delegate: add 'send:encrypted' permission #18687 2ea519c2a Avoid lookup overhead for nonexistent xattr directories #18688 87593ea2b Fix handling of _PC_HAS_HIDDENSYSTEM for FreeBSD #18693 0483a8e0c Clean up embedded slog metaslab across txgs #18695 41311c665 RAIDZ: Optimize single data column writes #18706 37af89948 ddt_log: Fix refcount tagging for begin/commit Obtained from: OpenZFS OpenZFS commit: 37af899488652c55c456d3f160fb8b295db2ec70
* zfs: merge openzfs/zfs@a170134feMartin Matuska2026-06-0624-3098/+3452
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #18372 eaaea55b6 Consistently encode DRR_BEGIN packed nvlist payloads with NV_ENCODE_XDR #18410 891e379d0 Fix failfast default and usage #18470 a2d053329 zdb: Add some more file layout output, triggered by -v #18472 d50f5b6d0 dsl_dir: avoid dd_lock during snapshots_changed updates #18493 d65015938 Vdev allocation bias/class change #18497 8fdc86675 zfs: annotate nested dd_lock in reservation sync accounting #18494 956deba27 zdb: detect BRT and DDT leaks during block traversal #18499 c7cfe0805 zarcstat: detect attached L2ARC device with no data #18503 439b802e7 sa: fix sa_add_projid lock ordering #18508 968f4db03 zpool-attach.8: add EXAMPLES section #18513 45dddc452 zfs.4: Fix documentation of zfs_arc_dnode_reduce_percent #18516 8ff64005a zap: split implementation out into more files #18520 181e1b522 Fix double free for blocks cloned after DDT prune #18535 -multiple zstream: fix crashes when refcount tracking enabled #18536 -multiple refcount tag fixups #18541 a65ed7afd zpool/zfs: accept --help and -? after a subcommand #18544 6fb72fda0 zio_ddt_write: compute have_dvas after taking dde_io_lock #18546 -multiple zap: internal locking uplift #18550 40a87651d zap_impl: use flex array field for mzap_phys_t.mz_chunks #18551 -multiple zap: make the _by_dnode() op variants be the primary implementation #18570 112b0131b zpl_xattr: stop heap-allocating prefixed xattr names #18578 4bc8c39b6 zed: Prefer dRAID distributed spares to regular ones #18596 e30ab5fa4 FreeBSD: Make it possible to build openzfs.ko with sanitizers #18597 472ddca11 zed: Prefer spares with matching rotational and size #18599 c90dc2808 enforce exact decompressed length for lz4, gzip, and zstd #18603 -multiple zap: add zap_cursor_init_by_dnode; cursor unit tests; mock dnode refcounts #18604 59dc88602 nvpair: Check for un-terminated strings in packed nvlist #18606 ef6f26145 When reading a vdev label skip libzfs_core_init() #18613 0aa4088dc sharenfs: Check for invalid characters #18615 80fb85b80 Fix the integer type in zfs_ioc_userspace_many() #18616 e199f6d98 Fix uninitialized variable warning in vdev_prop_get() #18617 7de42602c Extend dataset zfs_ioc_set_prop() secpolicy #18622 5fea0c838 Parallelize metaslab_sync_done() calls #18623 cab50d5ad Add additional verification of size fields and strings #18630 -multiple zap: misc function removal / uplift / tests #18633 a8ef128da Fix uninitialized variable warning in zil_parse() Obtained from: OpenZFS OpenZFS commit: a170134febea405c6b6f5ed51724cdcfb6d8e726
* zfs: merge openzfs/zfs@a12c6ed62Martin Matuska2026-05-066-15/+31
| | | | | | | | | | | | | Notable upstream pull request merges: #18473 b8d959640 Fix rare cksum errors after rebuild #18477 e78a51dd6 Fix off-by-one in PREVIOUSLY_REDACTED handler that drops last block #18482 d5099c330 Initialize vr_last_txg for rebuild #18483 872f01019 Zstd: rework ZSTD_isError symbol renaming #18489 366b1f9a3 Fix long POSIX_FADV_DONTNEED for single block files Obtained from: OpenZFS OpenZFS commit: a12c6ed62fcd06093b95616515e4716b0b0bc038
* zfs: merge openzfs/zfs@84ffe564dMartin Matuska2026-05-026-42/+84
| | | | | | | | | | | | | | Notable upstream pull request merges: #18387 656285140 Handle raidz errors <= nparity rather than ignoring #18401 1cebe8a38 libzfs: report invalid permission name in zfs allow #18430 513710ed2 Fix "panic: cache_vop_rename: lingering negative entry" #18440 37e3a260f dmu_direct: avoid UAF in dmu_write_direct_done() #18445 2eee4ac1e Fix: draid autopkgtests fail on s390x architecture #18448 8da472973 key lookup failure should always return EACCES #18456 4a58ab8ce zfs.4: document five missing module parameters Obtained from: OpenZFS OpenZFS commit: 84ffe564dff1b7f69d397817ef292cbe2c5ebad3
* zfs: merge openzfs/zfs@1644e2ffdMartin Matuska2026-04-1821-191/+1214
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #18148 d1b0a6982 draid: add failure domains support #18167 f203fedde Add zoned_uid property with additive least privilege authorization #18191 -multiple FreeBSD: Fix a couple of races involving zvol creation and teardown #18213 33ed68fc2 zpool create: report which device caused failure #18235 931deb290 Prevent range tree corruption race by updating dnode_sync() #18282 b44a3ecf4 zpool: Change zpool offline spares policy #18310 -multiple Fix s_active leak in zfsvfs_hold() when z_unmounted is true #18351 ce837a28e Bridge speculative and prescient prefetchers #18380 fc659bd6d draid: fix import failure after disks replacements #18385 16858492e FreeBSD: Implement relatime property #18390 a22b3f670 abd: Fix stats asymmetry in case of Direct I/O #18399 7b1682a82 Add support for POSIX_FADV_DONTNEED #18403 5cb95ad89 fix memleak in spa_errlog.c #18405 0752cf067 draid: allow seq resilver reads from degraded vdevs #18407 e635d27eb Add ability to set user properties while changing encryption key #18414 2abf469be draid: fix cksum errors after rebuild with degraded disks #18415 -multiple Fix snapshot automount deadlock during concurrent zfs recv #18421 1644e2ffd Fix read corruption after block clone after truncate Obtained from: OpenZFS OpenZFS commit: 1644e2ffd2640fa3e2c191ceaf048a5fc8399493
* zfs: merge openzfs/zfs@3ee08abd2Martin Matuska2026-03-1926-212/+436
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17000 -multiple cmd/zfs: support creating parents with canmount=no #17926 b481a8bbb Make zpool status dedup table support raw bytes -p output #18238 -multiple Report space metrics per allocation class #18240 5dad9459d Add --no-preserve-encryption flag #18257 1eace5906 libzfs: use mount_setattr for selective remount including legacy mounts #18259 1e2c94a04 More consistent use of TREE_* macros in AVL comparators #18262 c58b8b7dc Fix check for .cfi_negate_ra_state on aarch64 #18264 f109c7bb9 Add the --file-layout (-f) option to zdb(8) #18268 304de7f19 libzfs: handle EDOM error in zpool_create #18275 753f1e1e2 zstream: add a drop_record subcommand #18276 0f90a797d Fix vdev_rebuild_range() tx commit #18277 1e1d64d66 Fix log vdev removal issues #18278 06b0abfe6 Fix the send --exclude option to work with encryption #18281 e73ada771 libzpool: lift zfs_file ops out to separate source file #18284 d97945776 zstream: consolidate shared code #18285 -multiple Separate SIMD compile checks for userspace and kernel #18288 c5905b2cb Implement lzc_send_progress #18289 -multiple L2ARC: Add depth cap and write budget fairness for persistent markers #18290 d45c8d648 FreeBSD: Improve dmesg kernel message prefix #18294 b403040c4 draid: fix data corruption after disk clear #18296 -multiple libzfs: mnttab cleanup #18300 d35951b18 zpool clear: remove undocumented rewind flags #18301 ae7fcd5f9 fix libzfs diff mem leak in an error path #18303 65165df12 zilstat: add man page #18314 7f65e04ab libzfs: scrub: only include start and end nv pairs if needed for scrub #18315 -multiple Sync ZVOLs block cloning conditions with file systems #18330 f80338fac zarcsummary: add man page #18337 f259a47c7 zpool-iostat.8: clarify first report shows per-second averages Obtained from: OpenZFS OpenZFS commit: 3ee08abd2fcef3123188e9ad61a9cd80b9b7831c
* zfs: merge openzfs/zfs@f8e5af53eMartin Matuska2026-03-1429-848/+4243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17358 4975430cf Add vdev property to disable vdev scheduler #18031 c77f17b75 Add snapshots_changed_nsecs dataset property #18080 dbb3f247e cmd/zfs: clone: accept `-u` to not mount newly created datasets #18089 -multiple Zstd: Update bundled library to version 1.5.7 #18091 2301755df Fix zfs_open() to skip zil_async_to_sync() for the snapshot #18093 -multiple L2ARC: Rework write throttling with DWPD rate limiting and parallel writes #18095 2dbd6af5e Rename several printf attributes declarations to __printf__ #18096 8605bdfdd FreeBSD: unbreak compilation on i386 #18105 794f1587d When receiving a stream with the large block flag, activate feature #18115 765929cb4 DDT: Add locking for table ZAP destruction #18118 09e4e01e9 Fix history logging for `zpool create -t` #18119 2f1f25217 icp: emit .note.GNU-stack section for all ELF targets #18131 3fffe4e70 Fix --enable-invariants on FreeBSD #18133 d2f5cb3a5 Move range_tree, btree, highbit64 to common code #18136 54b141fab FreeBSD: Remove references to DEBUG_VFS_LOCKS #18138 cdf89f413 Flush RRD only when TXGs contain data #18139 a157ef62a Make sure we can still write data to txg #18140 cd895f0e5 remove thread unsafe debug code causing FreeBSD double free panic #18144 4f180e095 Fix activating large_microzap on receive #18146 35b2d3970 Lock db_mtx around arc_release() in couple places #18154 b36472052 nvpair: chase FreeBSD xdrproc_t definition #18160 21bbe7cb6 Improve caching for dbuf prefetches #18177 -multiple Multihost Improvements #18179 2646bd558 Allow rewrite skip cloned and snapshotted blocks #18180 aa29455dd Restrict cloning with different properties #18184 040ba7a7c libzfs: improve error message for zpool create with ENXIO #18188 1412bdc6c zfs_vnops_os.c: Move a vput() to after zfs_setattr_dir() #18198 cc184fe98 Fix `send:raw` permission for send `-w -I` #18208 ba970eb20 Cleanup allocation class selection #18212 0f9564e85 Simplify dnode_level_is_l2cacheable() #18214 370570890 Remove parent ZIO from dbuf_prefetch() #18218 bfb276e55 freebsd: Fix TIMESPEC_OVERFLOW for PowerPC #18222 d06a1d9ac Fix available space accounting for special/dedup #18225 d48967728 ICP: AES-GCM VAES-AVX2: fix typos and document source files #18226 c8a72a27e ICP: AES-GCM assembly: remove unused Gmul functions #18230 -multiple Fix zdb --key crash for unencrypted datasets, and teach tests to understand this better #18233 -multiple icp: add SHA-512 implementation using Intel SHA512 extension #18245 991fc56fa Introduce dedupused/dedupsaved pool properties #18251 6a717f31e Improve misleading error messages for ZPOOL_STATUS_CORRUPT_POOL #18254 7744f0496 SIMD: libspl: test the correct CPUID bit for AVX512VL #18255 6495dafd5 range_tree: use zfs_panic_recover() for partial-overlap remov #18256 3408332d7 zhack: Fix importing large allocation profiles on small pools #18258 f8457fbdc Fix deadlock on dmu_tx_assign() from vdev_rebuild() #18263 f8e5af53e Fix redundant declaration of dsl_pool_t Obtained from: OpenZFS OpenZFS commit: f8e5af53e92fa7c03393fbd4922cb9c1d0c15920
* zfs: implement AT_RENAME_NOREPLACEKonstantin Belousov2026-03-051-1/+1
| | | | | | | | Reviewed by: markj Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D55539
* zfs: merge openzfs/zfs@962e68865Martin Matuska2025-12-1914-243/+392
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16307 1d43387dd zdb: Add -O option for -r to specify object-id #17965 a62c62120 ARC: Pre-convert zfs_arc_min_prefetch_ms #17970 d393166c5 ARC: Increase parallel eviction batching #17981 20f09eae4 ZIO: ZIO_STAGE_DDT_WRITE is a blocking stage #17983 ff47dd35e Fix ddtprune causing space leak #18015 86b064469 FreeBSD: Fix a potential null dereference in zfs_freebsd_fsync() (already merged) #18020 ff47dd35e Ensure 64-bit `off_t` is used in user space instead of `loff_t` #18028 09492e0f2 Reduce dataset buffers re-dirtying #18033 f72fd378c Defer async destroys on pool import #18043 3d76ba273 Improve async destroy processing timing #18044 46d6f1fe5 DDT: Move logs searches out of the lock #18047 ff5414406 DDT: Switch to using ZAP _by_dnode() interfaces #18048 3b1ff816b DDT: Add/use zap_lookup_length_uint64_by_dnode() #18055 22e89aca8 DDT: Fix compressed entry buffer size #18059 0550abd4b RAIDZ: Remove some excessive logging #18060 a83bb15fc Reduce minimal scrub/resilver times #18061 962e68865 Use reduced precision for scan times #18063 051a8c749 Bypass snprintf() in quota checks if no quotas set #18064 7ff329ac2 Fix rangelock test for growing block size Obtained from: OpenZFS OpenZFS commit: 962e68865e4a569a8a51a07a45dcae7c33cdca78
* zfs: merge openzfs/zfs@89f729dccMartin Matuska2025-12-076-64/+192
| | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17932 1f3444f2b zpool: fix special vdev -v -o conflict #17934 -multiple Remove libuutil #17941 88d012a1d Fix snapshot automount expiry cancellation deadlock #17942 36e4f1888 Fix taskq NULL pointer dereference on timer race #17946 39303feba chksum: run 256K benchmark on demand, preserve chksum_stat_data #17948 -multiple Remove libtpool #17957 e37937f42 ztest: fix broken random call #17960 928eccc5b DDT: Reduce global DDT lock scope during writes #17961 48f33c1ef DDT: Make children writes inherit allocator #17975 7f7d4934c FreeBSD: Fix uninitialized variable error #17980 a5b665df3 DDT: Switch to using wmsums for lookup stats #18004 ffaea0831 FreeBSD: Remove HAVE_INLINE_FLSL use Obtained from: OpenZFS OpenZFS commit: 89f729dcca87425aadfa03d1764e96f285eb658d
* zfs: merge openzfs/zfs@e63d026b9Martin Matuska2025-11-1733-385/+568
| | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17477 02fdd26e5 Add knob to disable slow io notifications #17792 d0294aa75 Update dnode_next_offset_level to accept blkid instead of offset #17824 8c225ff1b Fix gang write late_arrival bug #17861 -multiple Lift userspace definitions out of zfs_context.h #17872 dcada084b Pass flags to more DMU write/hold functions #17875 ec268cdf9 Fix caching of DDT log and BRT #17875 ea125eeb5 BRT: Round bv_entcount up to BRT_BLOCKSIZE #17877 6cfc3dba9 Cleanup ZIO_FLAG_IO_RETRY vs TRYHARD usage #17885 e63d026b9 cmd/zpool cstyle issues #17890 b4f073b5a Add BRT support to zpool prefetch command #17903 baefe098e ZIO: Set minimum number of free issue threads to 32 #17906 6e12f0bd7 spa_misc: add an API for spa_namespace_lock #17908 e26b9fc87 FreeBSD: Add support for _PC_CASE_INSENSITIVE #17911 -multiple Update library ABI versions for v2.4.0 #17915 8aaed7dc4 BRT: Fix ranges to blocks conversion math #17916 cc5cae547 BRT: Increase block size from 4KB to 8KB #17921 72b2a9571 ZAP: Remove dmu_object_info_from_dnode() call Obtained from: OpenZFS OpenZFS commit: e63d026b91b822dd9b363ab9a1e39d9a66493601
* zfs: merge openzfs/zfs@0455150f1Martin Matuska2025-10-252-23/+59
| | | | | | | | | | | | Notable upstream pull request merges: #17836 adacf020c Fix return value for setting zvol threading #17839 44704616b zpool: fix conflict with -v and -o options #17851 3a55e76b8 FreeBSD: zfs_getpages: Don't zero freshly allocated pages #17863 0455150f1 FreeBSD zio_crypt.c: initialize uio variables before access Obtained from: OpenZFS OpenZFS commit: 0455150f1160dd7089ab31fefcfc58bfa548ab81
* zfs: merge openzfs/zfs@6ae99d269Martin Matuska2025-10-201-8/+8
| | | | | | | | | | | | Notable upstream pull request merges: #17750 6e5b836e9 FreeBSD: Correct _PC_MIN_HOLE_SIZE #17803 1861a329f zvol: verify IO type is supported #17826 51de2d76f Explicit set ashift for non-leaf vdevs #17830 f4276479c Suppress some ashift warnings #17843 6ae99d269 mmap_seek: print error code and text on failure Obtained from: OpenZFS OpenZFS commit: 6ae99d26924decb5f618b596ec7663e6a26d2e5f
* zfs: Revert "tunables: remove legacy FreeBSD aliases"Ed Maste2025-10-095-25/+25
| | | | | | | | | | | | | | As of commit 87a7b35f04b6 ("bsdinstall: fix vfs.zfs.vdev.min_auto_ashift oid") the installer uses the current vfs.zfs.vdev.min_auto_ashift sysctl name, but there are many systems with configurations referring to the legacy vfs.zfs.min_auto_ashift sysctl. For now, restore the aliases. This reverts commit ced72fdd69f27b54cf592351a36660cd9fd7dbd3. PR: 266374 Reviewed by: mm Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52660
* zfs: merge openzfs/zfs@5605a6d79Martin Matuska2025-10-059-26/+158
| | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16025 26b0f561b dnode_next_offset: backtrack if lower level does not match #17758 c722bf881 Add interface to interface spa_get_worst_case_min_alloc() function #17765 8d4c3ee9e zvol: Fix blk-mq sync #17787 8869caae5 zinject: Introduce ready delay fault injection #17780 b2196fbed Fix 'zpool add' safety check corner cases #17783 5c38029f4 zdb: add ZFS_KEYFORMAT_RAW support for -K option #17786 f0a95e897 zpool iostat: refresh pool list every interval #17807 -multiple zpool iostat: fix regressions in "all pools" mode after #17786 #17793 -multiple ddt prune: Add SCL_ZIO deadlock workaround #17799 ac2d8c80b Make mount/share errors non-fatal for zfs create/clone Obtained from: OpenZFS OpenZFS commit: 5605a6d79b3582296208ac391f93a5faf729fa92
* zfs: annotate arc_buf_is_shared with __maybe_unusedMateusz Guzik2025-10-011-0/+1
| | | | | | | To avoid a compilation warning. The routine turned out to be rather stubborn when it comes to trying to ifdef it out. Sponsored by: Rubicon Communications, LLC ("Netgate")
* zfs: Use the correct type for raidz_outlier_check_interval_msMark Johnston2025-09-151-1/+1
| | | | | raidz_outlier_check_interval_ms has type hrtime_t, which is a long long, which is 64 bits wide on all supported platforms.
* zfs: merge openzfs/zfs@3f4312a0aMartin Matuska2025-09-139-20/+529
| | | | | | | | | | | | | | | Notable upstream pull request merges: #17227 d64711c20 Detect a slow raidz child during reads #17543 -multiple zfs allow send:raw #17717 bc0b5318a Prevent scrubbing a read-only pool #17722 cb5f9aa58 FreeBSD: Satisfy ASSERT_VOP_IN_SEQC() #17729 3f4312a0a Fix two infinite loops if dmu_prefetch_max set to zero #17730 37cd30f71 Fix ddle memleak in ddt_log_load #17733 bc8bcfc71 Fix type in dbrrd_closest() #17735 9b772f328 Fix time database update calculations Obtained from: OpenZFS OpenZFS commit: 3f4312a0a428624e596bb35ae4806ea0d4d69472
* zfs: merge openzfs/zfs@7939bad5eMartin Matuska2025-09-1010-39/+63
| | | | | | | | | | | | | | | | | Notable upstream pull request merges: #15869 ee7c36264 Add description of default sorting behavior to zfs_list.8 #17375 ced72fdd6 tunables: remove legacy FreeBSD aliases #17600 1da2c30be Update pam_zfs_key.c default path for FreeBSD #17632 b6bd3228b Synchronize the update of feature refcount #17645 59f8f5dfe zfs_vnops_os.c: Add support for the _PC_CLONE_BLKSIZE name #17665 0d54ae288 zdb: Fix format strings on 32-bit systems #17673 976f76534 Update compatibility.d files #17699 e3c3e86c0 Fix wrong dedup_table_size for legacy dedup #17704 e29bfa5bd Fix warnings about sha2_is_supported on FreeBSD/i386 #17706 a2424312c Fix the build on 32-bit FreeBSD with GCC Obtained from: OpenZFS OpenZFS commit: 7939bad5e79225288a2580e8ea217f5c6f616db2
* zfs: merge openzfs/zfs@00dfa094aMartin Matuska2025-08-243-92/+38
| | | | | | | | | | | | | | | | | OpenZFS 2.4.0 rc1 Notable upstream pull request merges: #17643 94413bc75 zdb: Filter log spacemaps by vdev #17655 28ff57505 FreeBSD: satisfy VFS requirements for readdir() #17658 -multiple dnode: fix how we track and check dirtyness As OpenZFS 2.4 got branched, this is the last merge to main until stable/15 is branched. stable/15 will receive updates from the vendor/openzfs/zfs-2.4-release branch. Obtained from: OpenZFS OpenZFS commit: 00dfa094ac35e240bed33f8bcfea68d805eab6ae OpenZFS tag: zfs-2.4.0-rc1
* zfs: merge openzfs/zfs@a9410ccbdMartin Matuska2025-08-207-428/+387
| | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17058 -multiple Port AVX2 implementation of aes-gcm from BoringSSL #17602 077269bfe Fix Assert in dbuf_undirty, which triggers during usage zap shrink #17613 d15143207 ZIL: Make allocations more flexible #17618 5061f959d Retire zfs_autoimport_disable kmod option #17166 d3c1d27af zdb: better handling for corrupt block pointers #17616 1ccae433e Allow vmem_alloc backed multilists #17619 e0e60d319 Better pack struct zio_prop #17620 152e34822 Silence zstd large allocation warning #17622 -multiple ZIL: restore some things lost in "ZIL-crash" review #17625 -multiple zvol: cleanup & fixup zvol destruction sequence and locking #17631 885d929cf Fix missed assertion update in physical rewrite patch #17642 a9410ccbd Make zpool_find_config() report errors #17647 30a915efe zfs-send.8: mention combination of -c/-e flags and zstd_compress feature #17649 2c877e845 FreeBSD: Set st_rdev to NODEV, not 0, when not a device (already backported) Obtained from: OpenZFS OpenZFS commit: a9410ccbd9f0375a7eeb6bc35eb55efe9c21493e
* Fix missed assertion update in physical rewrite patchAlexander Motin2025-08-131-1/+2
| | | | | | | | Physical rewrite patch changed the meaning of BP_GET_BIRTH(), but I missed update one of its occurences, ending up asserting equal logical birth times instead of equal physical birth times. PR: 288722
* zfs: merge openzfs/zfs@1d0b94c4eMartin Matuska2025-08-1269-625/+938
| | | | | | | | | | | | | Notable upstream pull request merges: #17398 -multiple ZIL: "crash" the ZIL if the pool suspends during fallback #17585 0c376d0f5 Document the new '-a' zpool option #17590 03592417c SIMD: Don't require definition of `HAVE_XSAVE` #17591 -multiple Prefer VERIFY0 over comparision with 0 or NULL #17596 -multiple zvol: misc cleanups #17605 2fd145b57 zvol: cleanup error handling and passthrough Obtained from: OpenZFS OpenZFS commit: 1d0b94c4e73d83299528c44fb4fa3b29eb6009a3
* zfs: merge openzfs/zfs@8302b6e32Martin Matuska2025-08-0745-610/+1556
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16853 894edd084 Add TXG timestamp database #17004 -multiple Implement dynamic gang header sizes #17405 dea0fc969 ZVOL: Return early, if volmode is ZFS_VOLMODE_NONE on FreeBSD side #17455 cf146460c Default to zfs_bclone_wait_dirty=1 #17481 523d9d600 Validate mountpoint on path-based unmount using statx #17482 92da9e0e9 ZVOL: Implement zvol_alloc() function on FreeBSD side #17489 dee62e074 spa: ZIO_TASKQ_ISSUE: Use symbolic priority #17496 bf846dcb7 Release topology restrictions on special/dedup #17497 4e92aee23 Relax special_small_blocks restrictions #17503 ea38787f2 Revert "Fix incorrect expected error in ztest" #17505 be1e991a1 Allow and prefer special vdevs as ZIL #17506 ee0cb4cb8 ztest: Fix false positive of ENOSPC handling #17507 92d3b4ee2 zio: rename `io_reexecute` as `io_post`; use it for the direct IO checksum error flag #17508 6af8db61b metaslab: don't pass whole zio to throttle reserve APIs #17518 4c2a7f85d FreeBSD: Add support for _PC_HAS_HIDDENSYSTEM #17521 d7ab07dfb ZIL: Force writing of open LWB on suspend #17524 b6e8db509 zpool/zfs: Add '-a|--all' option to scrub, trim, initialize #17531 c1e51c55f Correct weight recalculation of space-based metaslabs #17533 d323fbf49 FreeBSD: zfs_putpages: don't undirty pages until after write completes #17536 b21e04e8d Fix zdb pool/ with -k #17537 -multiple Userspace tunables #17540 2957eabbe Add support for FreeBSD's Solaris style extended attribute interface #17547 4bd7a2eaa zdb: fix checksum calculation for decompressed blocks #17551 -multiple cleanup: remove var init/update #17561 0f8a1105e Skip dbuf_evict_one() from dbuf_evict_notify() for reclaim thread #17563 10a78e264 Faster checksum benchmark on system boot #17564 00ce064d8 spa: update blkptr diagram to include vdev padding on encrypted blocks #17565 -multiple Physical rewrite #17566 fc885f308 Don't use wrong weight when passivating group #17572 f70c85086 BRT: Fix ZAP entry endianness #17575 0b6fd024a ZVOL: Unify zvol minors operations and improve error handling #17581 cb5e7e097 range_tree: Provide more debug details upon unexpected add/remove #17587 -multiple Fix two issues with dynamic gang headers Obtained from: OpenZFS OpenZFS commit: 8302b6e32bb153a6f402b106484d5736f082abcc
* zfs: merge openzfs/zfs@69ee01aa4Martin Matuska2025-06-285-5/+21
| | | | | | | | | | | | | | Notable upstream pull request merges: #17463 48ce292ea Clarify and restrict dmu_tx_assign() errors #17484 d461a67d0 Ensure that gang_copies is always at least as large as copies #17486 0a2163d19 FreeBSD: Ensure that z_pflags is initialized for new znodes #17488 ea076d692 vdev_raidz_asize_to_psize: return psize, not asize #17490 69ee01aa4 Fix bug caused by rounding in vdev_raidz_asize_to_psize Obtained from: OpenZFS OpenZFS commit: 69ee01aa4b106dd57016b0d756201ecf7c211d46
* zfs: merge openzfs/zfs@8170eb6ebMartin Matuska2025-06-2120-226/+393
| | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17385 e1677d9ee ZVOL: Make zvol_prefetch_bytes module parameter platform-independent #17386 e0edfcbd4 ZVOL: Make zvol_volmode module parameter platform-independent #17391 108562344 Improve allocation fallback handling #17409 68817d28c Include class name into struct metaslab_class #17413 af7d60959 zpl: handle suspend from two remaining calls to `txg_wait_synced()` #17415 b7f919d22 Relax zfs_vnops_read_chunk_size limitations #17423 5e5253be8 FreeBSD: Wire projects support #17426 -multiple Channel programs: add zfs.sync.clone() #17431 e0ef4d276 Improve block cloning transactions accounting #17432 46b82de61 scrub: generate scrub_finish event #17435 bcd043023 Allow zero compression if dedup is enabled #17438 ba227e2cc Make TX abort after assign safer #17441 4ae931aa9 Polish db_rwlock scope #17434 66ec7fb26 Reduce zfs_dmu_offset_next_sync penalty #17445 238eab7dc FreeBSD: zfs_putpages: don't undirty pages until after write completes #17458 bd27b7540 ZIL: Relax parallel write ZIOs processing #17469 717213d43 Fix other nonrot bugs Obtained from: OpenZFS OpenZFS commit: 8170eb6ebcf2e7b1c735da80c331d7a57f1de987
* zfs: spa: ZIO_TASKQ_ISSUE: Use symbolic priorityOlivier Certner2025-06-181-18/+3
| | | | | | | | | | This allows to change the meaning of priority differences in FreeBSD without requiring code changes in ZFS. MFC after: 1 month Event: Kitchener-Waterloo Hackathon 202506 Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D45390
* zfs: merge openzfs/zfs@e8e602d98Martin Matuska2025-05-316-40/+33
| | | | | | | | | | | | | | Notable upstream pull request merges: #17381 44e326689 events: include zio type in IO error reports #17395 008c9666e Set spa_final_txg in spa_unload() #17394 1bd225ed8 abd_os: move headers from libzpool to libspl #17399 5764e218b vdev_disk: remove classic IO submission #17400 b3b3cd1e4 vdev: skip faulting disks pending removal #17406 a38376b37 Rename zvol kernel module parameters sysctls on FreeBSD side #17407 2d33c8edb Make rewrite use Uncached I/O Obtained from: OpenZFS OpenZFS commit: e8e602d987b01e7940f698d5fa2b00754609c74b
* zfs: merge openzfs/zfs@3084336aeMartin Matuska2025-05-3039-368/+999
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #14876 b048bfa9c Allow opt-in of zvol blocks in special class #16486 b6916f995 ARC: parallel eviction #17169 1a8f5ad3b zvol: Enable zvol threading functionality on FreeBSD #17209 c17bdc491 More aggressively assert that db_mtx protects db.db_data #17218 734eba251 Wire O_DIRECT also to Uncached I/O #17246 49fbdd453 Introduce zfs rewrite subcommand #17255 b1ccab172 ARC: Avoid overflows in arc_evict_adj() #17280 848794503 zcp: get_prop: fix encryptionroot and encryption #17301 086105f4c Cause zpool scan resume commands to get logged in history #17306 246e5883b zfs_valstr: update zio_flag strings for ZIO_FLAG_PREALLOCATED #17309 78628a5c1 FreeBSD: Use new SYSCTL_SIZEOF() #17314 89a8a9158 ARC: Notify dbuf cache about target size reduction #17319 8b9c4e643 spa: clear checkpoint information during retry #17339 d5616ad34 Increase meta-dnode redundancy in "some" mode #17340 ea74cdedd Fix 2 bugs in non-raw send with encryption #17342 e55225be3 Add explicit DMU_DIRECTIO checks #17343 d8a33bc0a icp: Use explicit_memset() exclusively in gcm_clear_ctx() #17344 -multiple libzfs_core: add ZFS_IOC_TRACE envvar to enable ioctl tracing #17348 f0baaa329 arcstat: prevent ZeroDivisionError when L2ARC becomes empty #17353 83fa80a55 dmu_objset_hold_flags() should call dsl_dataset_rele_flags() on error #17355 -multiple Allow txg_wait_synced_flags() and dmu_tx_assign() to return when the pool suspends #17361 5c30b2438 Fix null dereference in spa_vdev_remove_cancel_sync() #17363 ddf28f27c Fix off-by-one bug in range tree code #17367 06fa8f3f6 zfs_cmd: reorganise zfs_cmd_t to match original size #17368 2a91d577b Expose dataset encryption status via fast stat path #17372 c464f1d01 Only interrupt active disk I/Os in failmode=continue #17373 9d76950d6 ZIL: Improve write log size accounting #17377 -multiple tunables: general code cleanup #17379 fa697b94e FreeBSD: Add posix_fadvise(POSIX_FADV_WILLNEED) support #17384 3dfa98d01 ZVOL: Make zvol_inhibit_dev module parameter platform-independent Obtained from: OpenZFS OpenZFS commit: 3084336ae4a4e114e41be3177a3f5c779d66e93c
* zfs: merge openzfs/zfs@246e5883bMartin Matuska2025-05-0432-288/+967
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17111 246e5883b Implement allocation size ranges and use for gang leaves #17123 5f5321eff Handle interaction between gang blocks, copies, and FDT #17130 -multiple Implement default user/group/project quotas #17164 301da593a Fix lock reversal on device removal cancel #17183 367d34b3a Fix dspace underflow bug #17187 30cc2331f zed: Ensure spare activation after kernel-initiated device removal #17191 11ca12dbd simd_powerpc.h: enable FPU on FreeBSD #17192 5b29e70ae Remove mg_allocators #17204 a497c5fc8 Improve L2 caching control for prefetched indirects #17205 b14b3e398 Fix FDT rollback to not overwrite unnecessary fields #17206 7be9fa259 Fix nonrot property being incorrectly unset #17208 09fc7bb47 Fix memory leaks in pool properties handling #17213 78a7c78bd Added fix for zpool get state segfaults with two or more vdevs #17228 131df3bbf vdev_to_nvlist_iter: ignore draid parameters when matching names #17231 f40ab9e39 Fix double spares for failed vdev #17264 27f3d9494 Sort the blocking snapshots lis #17269 f86d9af16 Fix race between resilver wait and offline/detach #17273 c8fa39b46 cred: properly pass and test creds on other threads #17284 a7de203c8 txg: generalise txg_wait_synced_sig() to txg_wait_synced_flags() Obtained from: OpenZFS OpenZFS commit: 246e5883bb5b8e09b1a4213f7b1704b5a9ed5568
* zfs: merge openzfs/zfs@4abc21b28Martin Matuska2025-03-27138-983/+1050
| | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17015 201d26294 Add receive:append permission for limited receive #17020 94a3fabcb Unified allocation throttling #17038 1b495eeab FDT dedup log sync -- remove incremental #17073 9250403ba Make ganging redundancy respect redundant_metadata property #17077 0433523ca Verify every block pointer is either embedded, hole, or has a valid DVA #17101 83fa051ce spl_vfs: fix vrele task runner signature mismatch #17113 09f4dd06c Prefer embedded blocks to dedup #17120 0ea44e576 Fix deduplication of overridden blocks #17124 62a9d372f zed: Print return code on failed zpool_prepare_disk #17126 3cd9934a4 Some arc_release() cleanup #17136 d033f2676 Always perform bounds-checking in metaslab_free_concrete #17142 45e9b54e9 kstat: allow multi-level module names #17145 676b7ef10 Fix deadlock on I/O errors during device removal #17180 4abc21b28 Block remap for cloned blocks on device removal Obtained from: OpenZFS OpenZFS commit: 4abc21b28c22d93c06e1e51c1f9019b4fa4e0d51
* zfs: merge openzfs/zfs@fe674998bMartin Matuska2025-03-099-19/+425
| | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #17042 ece35e0e6 zpool: allow relative vdev paths #17046 c43df8bbb vdev_file: unify FreeBSD and Linux implementations #17064 ee8803adc vdev_file: make FLUSH and TRIM asynchronous #17066 ecc44c45c include: move zio_priority_t into zfs.h #17071 ab3db6d15 arc: avoid possible deadlock in arc_read #17079 682c5f6a0 Fix wrong free function in arc_hdr_decrypt #17080 701093c44 Don't try to get mg of hole vdev in removal #17081 d7d274471 Better fill empty metaslabs #17088 a5fb5c55b spa: fix signature mismatch for spa_boot_init as eventhandler required #17089 7f05fface gcm_avx_init: zero the ghash state after hashing the IV #17122 fe674998b Check portable objset MAC even if local is zeroed Obtained from: OpenZFS OpenZFS commit: fe674998bb2d0912660d8aa3f2904b70f57497b0
* zfs: merge openzfs/zfs@6a2f7b384Martin Matuska2025-02-2024-902/+1041
| | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16857 387ed5ca4 Add recursive dataset mounting and unmounting support to pam_zfs_key #16929 c2458ba92 optimize recv_fix_encryption_hierarchy() #16980 12f0baf34 Make the vfs.zfs.vdev.raidz_impl sysctl cross-platform #16986 40496514b Expand fragmentation table to reflect larger possibile allocation sizes #17003 88020b993 Add kstats tracking gang allocations #17013 21205f648 Avoid ARC buffer transfrom operations in prefetch #17016 390f6c119 zio: lock parent zios when updating wait counts on reexecute #17029 b8c73ab78 zio: do no-op injections just before handing off to vdevs #17037 6a2f7b384 Fix metaslab group fragmentation math #17040 b901d4a0b Update the dataset name in handle after zfs_rename Obtained from: OpenZFS OpenZFS commit: 6a2f7b38442b42f4bc9a848f8de10fc792ce8d76
* zfs: merge openzfs/zfs@34205715eMartin Matuska2025-01-271-19/+81
| | | | | | | | | | Notable upstream pull request merges: #16938 2aa3fbe76 zinject: count matches and injections for each handler #16947 -multiple zinject: add "probe" device injection type #16976 34205715e FreeBSD: Add setting of the VFCF_FILEREV flag Obtained from: OpenZFS OpenZFS commit: 34205715e1544d343f9a64149b17c371282306ae
* zfs: merge openzfs/zfs@b8e09c700Martin Matuska2025-01-119-23/+344
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16851 19a04e5ad BRT: Check bv_mos_entries in brt_entry_lookup() #16854 6c9b4f18d Fix DR_OVERRIDDEN use-after-free race in dbuf_sync_leaf #16855 fbea92432 flush: don't report flush error when disabling flush support #16862 ecc0970e3 backtrace: fix off-by-one on string output #16864 939e0237c Too many vdev probe errors should suspend pool #16868 ff6266ee9 Fix use-afer-free regression in RAIDZ expansion #16871 acda137d8 simd_stat: fix undefined CONFIG_KERNEL_MODE_NEON error on armel #16877 219a89cbb Skip iterating over snapshots for share properties #16881 ab7cbbe78 zprop: fix value help for ZPOOL_PROP_CAPACITY #16883 f00a57a78 zfs_main: fix alignment on props usage output #16887 -multiple userprops: make clearing pool & vdev userprops work the same #16888 c37a2ddaa microzap: set hard upper limit of 1M #16890 1acd24696 Fix readonly check for vdev user properties #16901 9dd5fe109 zvol: implement platform-independent part of block cloning #16909 54126fdb5 set zfs_arc_shrinker_limit to 0 by default #16912 25238baad Add missing zfs_exit() when snapdir is disabled #16918 478b09577 zfs_vnops_os.c: fallocate is valid but not supported on FreeBSD #16921 c02e1cf05 vdev_open: clear async remove flag after reopen #16923 dc0324bfa fix: make zfs_strerror really thread-safe and portable Obtained from: OpenZFS OpenZFS commit: b8e09c7007a0733a497aebe734cb8ed23a0415ae
* zfs: merge openzfs/zfs@e0039c705Martin Matuska2024-12-0735-237/+620
| | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16215 44446dccd During pool export flush the ARC asynchronously #16301 4b4e346b9 Add ability to scrub from last scrubbed txg #16755 0ffa6f346 zdb: show dedup table and log attributes #16801 1cd2419ec Fix race in libzfs_run_process_impl #16814 a01504b35 Improve speculative prefetcher for block cloning #16819 a44eaf169 Optimize RAIDZ expansion #16825 e8b333e4d Fix false assertion in dmu_tx_dirty_buf() on cloning #16829 6e3c109bc Fix regression in dmu_buf_will_fill() #16832 2507db612 zdb_il: use flex array member to access ZIL records #16834 0e020bf3e FreeBSD: Remove an incorrect assertion in zfs_getpages() #16836 c33a55b0c Allow dsl_deadlist_open() return errors Obtained from: OpenZFS OpenZFS commit: e0039c70573e455f4745a83b7d5a6a5f6f2e58a8
* zfs: merge openzfs/zfs@d0a91b9f8Martin Matuska2024-11-2411-777/+702
| | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16643 -multiple Change rangelock handling in FreeBSD's zfs_getpages() #16697 46c4f2ce0 dsl_dataset: put IO-inducing frees on the pool deadlist #16740 -multiple BRT: Rework structures and locks to be per-vdev #16743 a60ed3822 L2ARC: Move different stats updates earlier #16758 8dc452d90 Fix some nits in zfs_getpages() #16759 534688948 Remove hash_elements_max accounting from DBUF and ARC #16766 9a81484e3 ZAP: Reduce leaf array and free chunks fragmentation #16773 457f8b76e BRT: More optimizations after per-vdev splitting #16782 0ca82c568 L2ARC: Stop rebuild before setting spa_final_txg #16785 d76d79fd2 zio: Avoid sleeping in the I/O path #16791 ae1d11882 BRT: Clear bv_entcount_dirty on destroy #16796 b3b0ce64d FreeBSD: Lock vnode in zfs_ioctl() #16797 d0a91b9f8 FreeBSD: Reduce copy_file_range() source lock to shared Obtained from: OpenZFS OpenZFS commit: d0a91b9f88a47316158508bf304a61baa8c99c10
* zfs: merge openzfs/zfs@1c9a4c8cbMartin Matuska2024-11-138-78/+99
| | | | | | | | | | | | | | | | Notable upstream pull request merges: #16244 acb6e71ed Added output to `zpool online` and `offline` #16684 94a03dd1e Pack dmu_buf_impl_t by 16 bytes #16690 6187b1943 On the first vdev open ignore impossible ashift hints #16692 673efbbf5 zdb: add extra -T flag to show histograms of BRT refcounts #16693 2bf152021 Fix gcc uninitialized warning in FreeBSD zio_crypt.c #16694 b16e09619 Reduce dirty records memory usage #16701 5945676bc ZFS send should use spill block prefetched from send_reader_thread #16734 1c9a4c8cb Fix user properties output for zpool list Obtained from: OpenZFS OpenZFS commit: 1c9a4c8cb44d5f865c29e3df3f019872329554b3
* zfs: merge openzfs/zfs@b2f6de7b5Martin Matuska2024-10-208-46/+201
| | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16598 b4e4cbeb2 Always validate checksums for Direct I/O reads #16603 cefef28e9 vdev_id: multi-lun disks & slot num zero pad #16613 ab777f436 Return boolean_t in inline functions of lib/libspl/include/sys/uio.h #16616 efeb60b86 FreeBSD: ignore some includes when not building kernel #16617 ca0141f32 zpool/zfs: restore -V & --version options #16632 7bf525530 zpool/zfs: allow --json wherever -j is allowed #16635 7e4be9275 zdb: fix printf format in dump_zap() #16640 48dfe3974 Fallback to strerror() when strerror_l() isn't available #16650 38a04f0a7 freebsd: Use compiler.h from FreeBSD's base's linuxkpi #16664 fba6a9069 zfs_debug: Restore log size limit for userspace #16665 fba6a9069 Fix compile-time warnings caused by duplicate struct typedefs #16667 b2f6de7b5 zdb: show bp in uberblock dump Obtained from: OpenZFS OpenZFS commit: b2f6de7b58f81a4894ba26d87865a15e6115a1c2
* zfs: merge openzfs/zfs@b10992582Martin Matuska2024-10-1147-686/+2489
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #9416 -multiple zio_compress: introduce max size threshold #10018 a10e552b9 Adding Direct IO Support #15147 e419a63bf xattr dataset prop: change defaults to sa #15454 7e957fde7 send/recv: open up additional stream feature flags #15810 0d77e738e Defer resilver only when progress is above a threshold #15921 3cf2bfa57 Allocate zap_attribute_t from kmem instead of stack #16483 -multiple dmu_objset: replace dnode_hash impl with cityhash4 #16485 8be2f4c3d zio_resume: log when unsuspending the pool #16491 88433e640 sys/types32.h: Remove struct timeval32 from libspl header #16496 f245541e2 zfs_file: implement zfs_file_deallocate for FreeBSD 14 #16511 308f7c2f1 Fix an uninitialized data access #16529 29c9e6c32 Fix handling of DNS names with '-' in them for sharenfs #16531 ddf5f34f0 Avoid fault diagnosis if multiple vdevs have errors #16539 6f50f8e16 zfs_log: add flex array fields to log record structs #16546 d40d40913 Evicting too many bytes from MFU metadata #16551 3014dcb76 Reduce and handle EAGAIN errors on AIO label reads #16554 80645d658 FreeBSD: restore zfs_znode_update_vfs() #16565 832f66b21 FreeBSD: Sync taskq_cancel_id() returns with Linux #16567 48d1be254 Properly release key in spa_keystore_dsl_key_hold_dd() #16569 141368a4b Restrict raidz faulted vdev count #16583 c84a37ae9 lua: add flex array field to TString type #16584 86737c592 Avoid computing strlen() inside loops #16587 d34d4f97a snapdir: add 'disabled' value to make .zfs inaccessible #16593 224393a32 feature: large_microzap #16597 412105977 Temporarily disable Direct IO by default #16605 4ebe674d9 ARC: Cache arc_c value during arc_evict() Backported pull request merges: #16613 ab777f436 Return boolean_t in inline functions of lib/libspl/include/sys/uio.h #16616 efeb60b86 FreeBSD: ignore some includes when not building kernel #16635 ---TBD--- zdb: fix printf format in dump_zap() Obtained from: OpenZFS OpenZFS commit: b109925820fb79db3e37670c159977f03edd950f OpenZFS tag: 2.3.0-rc1
* zfs: merge openzfs/zfs@b10992582Martin Matuska2024-09-0921-508/+3278
| | | | | | | | | | | | | | | | | Notable upstream pull request merges: #15892 -multiple Fast Dedup: Introduce the FDT on-disk format and feature flag #15893 -multiple Fast Dedup: “flat” DDT entry format #15895 -multiple Fast Dedup: FDT-log feature #16239 6be8bf555 zpool: Provide GUID to zpool-reguid(8) with -g #16277 -multiple Fast Dedup: prune unique entries #16316 5807de90a Fix null ptr deref when renaming a zvol with snaps and snapdev=visible #16343 77a797a38 Enable L2 cache of all (MRU+MFU) metadata but MFU data only #16446 83f359245 FreeBSD: fix build without kernel option MAC #16449 963e6c9f3 Fix incorrect error report on vdev attach/replace #16505 b10992582 spa_prop_get: require caller to supply output nvlist Obtained from: OpenZFS OpenZFS commit: b109925820fb79db3e37670c159977f03edd950f
* spa_prop_get: require caller to supply output nvlistRob Norris2024-09-052-62/+48
| | | | | | | | | | | | | | | All callers to spa_prop_get() and spa_prop_get_nvlist() supplied their own preallocated nvlist (except ztest), so we can remove the option to have them allocate one if none is supplied. This sidesteps a bug in spa_prop_get(), where the error var wasn't initialised, which could lead to the provided nvlist being freed at the end. Sponsored-by: Klara, Inc. Sponsored-by: Wasabi Technology, Inc. Signed-off-by: Rob Norris <rob.norris@klarasystems.com> (cherry picked from commit 366d6fecf6bb3c59668b0f3b89f2a610595f3d2f)
* Add missing kstats to dataset kstatsPaul Dagnelie2024-08-141-0/+3
| | | | | | | | Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com> Reviewed-by: Rob Norris <robn@despairlabs.com> Signed-off-by: Paul Dagnelie <pcd@delphix.com> Closes #16431 (cherry picked from commit 244ea5c4881f92a9d7c1fb341a49b127fda7539d)
* zfs: merge openzfs/zfs@9c56b8ec7Martin Matuska2024-08-1023-313/+1287
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #15817 5536c0dee Sync AUX label during pool import #15889 c7ada64bb ddt: dedup table quota enforcement #15890 62e7d3c89 ddt: add support for prefetching tables into the ARC #15894 e26b3771e spa_preferred_class: pass the entire zio #15894 d54d0fff3 dnode: allow storage class to be overridden by object type #16197 55427add3 Several improvements to ARC shrinking #16217 -multiple JSON output for various zfs and zpool subcommands #16248 24e6585e7 libzfs.h: Set ZFS_MAXPROPLEN and ZPOOL_MAXPROPLEN to ZAP_MAXVALUELEN #16264 9dfc5c4a0 Fix long_free_dirty accounting for small files #16268 ed0db1cc8 Make txg_wait_synced conditional in zfsvfs_teardown, for FreeBSD #16288 d60debbf5 Fix sa_add_projid to lookup and update SA_ZPL_DXATTR #16308 ec580bc52 zfs: add bounds checking to zil_parse #16310 c21dc56ea Fix zdb_dump_block for little endian #16315 7ddc1f737 zil: add stats for commit failure/fallback #16326 b0bf14cdb abd: lift ABD zero scan from zio_compress_data() to abd_cmp_zero() #16337 c8184d714 Block cloning conditionally destroy ARC buffer #16338 dbe07928b Add support for multiple lines to the sharenfs property for FreeBSD #16374 1a3e32e6a Cleanup DB_DNODE() macros usage #16374 ed87d456e Skip dnode handles use when not needed #16346 fb6d8cf22 Add some missing vdev properties #16364 670147be5 zvol: ensure device minors are properly cleaned up #16382 dea8fabf7 FreeBSD: Fix RLIMIT_FSIZE handling for block cloning #16387 aef452f10 Improve zfs_blkptr_verify() #16395 cbcb52243 Fix the names of some FreeBSD sysctls in include/tunables.cfg #16401 5b9f3b766 Soften pruning threshold on not evictable metadata #16404 cdd53fea1 FreeBSD: Add missing memory reclamation accounting #16404 1fdcb653b Once more refactor arc_summary output #16419 1f5bf91a8 Fix memory corruption during parallel zpool import with -o cachefile #16426 cf6e8b218 zstream: remove duplicate highbit64 definition Obtained from: OpenZFS OpenZFS commit: 9c56b8ec7855119c8948c551ee28086a11465a56
* zfs: merge openzfs/zfs@1147a2797Martin Matuska2024-07-182-2/+6
| | | | | | | | | | | | | | | | | | | | Notable upstream pull request merges: #16209 --multi-- icp: rip out everything we don't use #16230 20c8bdd85 FreeBSD: Update use of UMA-related symbols in arc_available_memory #16242 121a2d335 FreeBSD: unregister mountroot eventhandler on unload #16258 5de3ac223 vdev_open: clear async fault flag after reopen #16270 436731276 zvol: Fix suspend lock leaks #16273 c87cb22ba head_errlog: fix use-after-free #16284 f72e081fb FreeBSD: Use a statement expression to implement SET_ERROR() #16300 a10faf5ce FreeBSD: Use the new freeuio() helper to free dynamically allocated UIOs #16302 a7fc4c85e zstd: don't call zstd_mempool_reap if there are no buffers #16334 dc91e7452 zdb: dump ZAP_FLAG_UINT64_KEY ZAPs properly Obtained from: OpenZFS OpenZFS commit: 1147a279785329a2eaeb01c0610c35fe835a62a6
* zfs: merge openzfs/zfs@e2357561bMartin Matuska2024-05-3124-169/+289
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix scn_queue races on very old poolsAlexander Motin2024-05-231-0/+6
| | | | | | | | | | | | | | | | | Code for pools before version 11 uses dmu_objset_find_dp() to scan for children datasets/clones. It calls enqueue_clones_cb() and enqueue_cb() callbacks in parallel from multiple taskq threads. It ends up bad for scan_ds_queue_insert(), corrupting scn_queue AVL-tree. Fix it by introducing a mutex to protect those two scan_ds_queue_insert() calls. All other calls are done from the sync thread and so serialized. Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Reviewed-by: Brian Atkinson <batkinson@lanl.gov> Signed-off-by: Alexander Motin <mav@FreeBSD.org> Sponsored by: iXsystems, Inc. Closes #16162 PR: 278414
* zfs: Avoid a gcc -Wint-to-pointer-cast warningBrooks Davis2024-05-171-1/+1
| | | | | | | | | | | | On 32-bit platforms long long is generally 64-bits. Sufficiently modern versions of gcc (13 in my testing) complains when casting a pointer to an integer of a different width so cast to uintptr_t first to avoid the warning. Fix i386 gcc builds while we wait for this to be merged to OpenZFS. Sponsored by: DARPA, AFRL Pull Request: https://github.com/openzfs/zfs/pull/16203
* zfs: merge openzfs/zfs@8f1b7a6faMartin Matuska2024-05-0312-91/+543
| | | | | | | | | | | | | | | | Notable upstream pull request merges: #15839 c3f2f1aa2 vdev probe to slow disk can stall mmp write checker #15888 5044c4e3f Fast Dedup: ZAP Shrinking #15996 db499e68f Overflowing refreservation is bad #16118 67d13998b Make more taskq parameters writable #16128 21bc066ec Fix updating the zvol_htable when renaming a zvol #16130 645b83307 Improve write issue taskqs utilization #16131 8fd3a5d02 Slightly improve dnode hash #16134 a6edc0adb zio: try to execute TYPE_NULL ZIOs on the current task #16141 b28461b7c Fix arcstats for FreeBSD after zfetch support Obtained from: OpenZFS OpenZFS commit: 8f1b7a6fa6762ea4c89198ceb11c521f80b92ddc
* zfs: merge openzfs/zfs@1f940de07Martin Matuska2024-04-239-191/+325
| | | | | | | | | | | | | | Notable upstream pull request merges: #16038 1f940de07 L2ARC: Cleanup buffer re-compression #16093 c183d164a Parallel pool import #16094 cd3e6b4f4 Add zfetch stats in arcstats #16103 35bf25848 Fix: FreeBSD Arm64 does not build currently #16104 4036b8d02 Refactor dbuf_read() for safer decryption #16110 9f83eec03 Handle FLUSH errors as "expected" #16117 c346068e5 zfs get: add '-t fs' and '-t vol' options Obtained from: OpenZFS OpenZFS commit: 1f940de07224c2068e7c721222b1f3a519820ca9