zfs

OpenZFS on Linux and FreeBSD

OTHER License

Stars
10.4K
Committers
625

Bot releases are visible (Hide)

zfs - zfs-2.2.4 Latest Release

Published by tonyhutter 6 months ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.8 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • Fix updating the zvol_htable when renaming a zvol #16127 #16128
  • Add prefetch property #15237 #15436
  • vdev probe to slow disk can stall mmp write checker #15839
  • Extend import_progress kstat with a notes field #15539
  • Add ashift validation when adding devices to a pool #15509
  • Fix arcstats for FreeBSD after zfetch support #16141
  • Add zfetch stats in arcstats #16094
  • Use ASSERT0P() to check that a pointer is NULL. #15225
  • GCC: Fixes for gcc 14 on Fedora 40 #16124 #16125
  • Python 3.12 deprecated python3-distutils #16126 #16129
  • zfs-kmod: fix empty rpm requires/conflicts #16121
  • ZTS: user_namespace_004.ksh avoid error in cleanup if unsupported #16114
  • Add newline to two zpool messages #16113
  • Do no use .cfi_negate_ra_state within the assembly on Arm64 #14965 #15784
  • Add the BTI elf note to the AArch64 SHA2 assembly #16086
  • AUTHORS: refresh with recent new contributors #16079
  • return NULL at end of send_progress_thread #16074
  • Fix locale-specific time #15878 #15879
  • Fix panics when truncating/deleting files #15983
  • vdev props comment and manpage should include zfsd and FreeBSD mentions #15968
  • Add slow disk diagnosis to ZED #15469
  • [2.2.4-only] Stub RAIDZ enums to prevent conflicts
  • zap_leaf: make l_hash[] variable length to silence UBSAN #15964
  • Give a better message from 'zpool get' with invalid pool name #15942
  • xdr: header cleanup #16047 #16051
  • Fix buffer underflow if sysfs file is empty #16028 #16035
  • ZTS: fix flakiness in cp_files_002_pos #16029
  • Fix option string, adding -e and fixing order #16008
  • freebsd: fix missing headers in distribution tarball #15963
  • Check for minimum partition size #15898
  • Add VERIFY0P() and ASSERT0P() macros. #15225
  • Clean up existing VERIFY*() macros. #15225
  • etc/init.d: decide which variant to use at build time. #15977
  • config/Substfiles.am: restrict to the dedicated list. #15980
  • man: move zfs_prepare_disk.8 to nodist_man_MANS #15979
  • Add support for zfs mount -R #16015
  • Linux 6.9 compat: blk_alloc_disk() now takes two args #16027 #16033
  • Linux 6.9 compat: bdev handles are now struct file #16027 #16033
  • vdev_disk: clean up spa/bdev mode conversion #15995
  • Linux 5.18+ compat: Detect filemap_range_has_page #16034
  • udev: correctly handle partition #16 and later #15904 #15970
  • zvols: prevent overflow of minor device numbers #16006
  • Linux 6.8 compat: META (#16099)
  • bdev_discard_supported: understand discard_granularity=0
  • L2ARC: Relax locking during write #16040
  • Small fix to prefetch ranges aggregation #16072
  • Remove db_state DB_NOFILL checks from syncing context #16057
  • Speculative prefetch for reordered requests #16022
  • Fix read errors race after block cloning #16052
  • Improve dbuf_read() error reporting #16042
  • BRT: Check pool clone stats in more tests #16007
  • BRT: Fix tests to work on non-empty pools #16007
  • BRT: Fix holes cloning. #15994 #16007
  • BRT: Skip getting length in brt_entry_lookup() #15950
  • BRT: Make BRT block sizes configurable #15967
  • BRT: Relax brt_pending_apply() locking #15955
  • ZAP: Massively switch to _by_dnode() interfaces #15951
  • BRT: Skip duplicate BRT prefetches #15941
  • ZAP: Some cleanups/micro-optimizations #15976
  • BRT: Change brt_pending_tree sorting order #15954
  • Update resume token at object receive. #15927
  • Linux: Cleanup taskq threads spawn/exit #15873
  • Refactor dmu_prefetch(). #15076
  • ZIL: Update Linux tracing after #15635 #15730
  • ZIL: Improve next log block size prediction #15635
  • ZIO: Optimize zio_flush() #15515
  • ZIL: Detect single-threaded workloads #15381
  • zvol_os: fix compile with blk-mq on Linux 4.x #16069
  • zvol_os: fix build on Linux <3.13 #16062
  • zvol: use multiple taskq #15992
  • vdev_disk: fix alignment check when buffer has non-zero starting offset
  • vdev_disk: ensure trim errors are returned immediately
  • vdev_disk: don't touch vbio after its handed off to the kernel
  • Fix corruption caused by mmap flushing problems #15933 #16019
  • vdev_disk: default to classic submission for 2.2.x
  • abd_iter_page: don't use compound heads on Linux <4.5 #15533 #15588
  • vdev_disk: use bio_chain() to submit multiple BIOs #15533 #15588
  • vdev_disk: add module parameter to select BIO submission method #15533 #15588
  • vdev_disk: rewrite BIO filling machinery to avoid split pages #15533 #15588
  • vdev_disk: make read/write IO function configurable #15533 #15588
  • vdev_disk: reorganise vdev_disk_io_start #15533 #15588
  • vdev_disk: rename existing functions to vdev_classic_* #15533 #15588
  • abd: add page iterator #15533 #15588
  • linux 5.4 compat: page_size() #15533 #15588
  • Linux 6.8 compat: use splice_copy_file_range() for fallback #15930 #15931
zfs - zfs-2.1.15

Published by tonyhutter 8 months ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.7 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • Avoid calling rw_destroy() on uninitialized rwlock #13976
  • Fix GCC 12 compilation errors #14150
  • libzfs_sendrecv: Style pass on send_print_verbose #12967
  • Linux 6.7 compat: META #15833
  • Linux 6.6 compat: META #15520
  • ZTS: Debug zfs_share_concurrent_shares failure #15379
  • tests: zfs_share_concurrent_shares: don't use log_musts in subprocesses #13259
  • Fix the FreeBSD userspace build (#15716)
  • [zfs-2.1.15] Update ABI files
  • ZTS: Fix zfs_load-key failures on F39 #15534 #15550
  • LUA: Backport CVE-2020-24370's patch #15847
  • Add 'zpool status -e' flag to see unhealthy vdevs #15769
  • zpool: Add slot power control, print power status #15662
  • zed: fix typo in variable ZED_POWER_OFF_ENCLOUSRE_SLOT_ON_FAULT #15651
  • ZTS: Add dirty dnode stress test #15608
  • ZTS: Fix 'could not unmount datasets' on Alma 9 (#15542)
  • zed: misc vdev_enc_sysfs_path fixes #15462
  • Add zfs_prepare_disk script for disk firmware install #15243
  • Linux 6.8 compat: replace MAX_ORDER define #15805
  • Linux 6.8 compat: implement strlcpy fallback #15805
  • Linux 6.8 compat: update for new bdev access functions #15805
  • Linux 6.8 compat: make test functions static #15805
  • Linux 6.7 compat: zfs_setattr fix atime update #15762 #15773
  • Linux 6.5 compat: check BLK_OPEN_EXCL is defined #15692
  • linux 6.7 compat: rework shrinker setup for heap allocations
  • linux 6.7 compat: handle superblock shrinker member change
  • linux 6.7 compat: use inode atime/mtime accessors
  • linux 6.7 compat: simplify current_time() check
  • Linux 6.6 compat: fix configure error with clang (#15558)
  • Linux 6.6 compat: fsync_bdev() has been removed in favor of sync_blockdev() #15263
  • Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 #15263
  • Linux 6.6 compat: use inode_get/set_ctime*(...) #15263 #15257
  • Workaround UBSAN errors for variable arrays #15510
  • FreeBSD: catch up to __FreeBSD_version 1400093 #15036
  • spa: Let spa_taskq_param_get()'s addition of a newline be optional #15719
  • spa: Fix FreeBSD sysctl handlers #15719
  • freebsd: fix compile for spa_taskq_read/spa_taskq_write params
  • [2.1] compat: add check for kernel_neon_* availability
  • spa: make read/write queues configurable
  • libshare: nfs: pass through ipv6 addresses in bracket notation #11939
  • ZTS: Disable io_uring test on CentOS 9 #15636
  • Report ashift of L2ARC devices in zdb #15331
  • zfs-dkms: fix shell-init error message #15576
  • Fix dkms installation of deb packages created with Alien. #15415
zfs - zfs-2.2.3

Published by tonyhutter 8 months ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.7 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • ZTS: Skip cross-fs bclone tests if FreeBSD < 14.0 #15901
  • [zfs-2.2.3] ZTS: Use correct bclone module param name on FreeBSD
  • zdb: Fix false leak report for BRT objects #15882
  • Add Ntfy notification support to ZED #15584
  • BRT: Fix slop space calculation with block cloning #15874
  • zfs list: add '-t fs' and '-t vol' options (#15883) #15864
  • [zfs-2.2.3] Enable zfs_bclone_enabled on cp_files tests
  • LUA: Backport CVE-2020-24370's patch #15847
  • Add 'zpool status -e' flag to see unhealthy vdevs #15769
  • zed: fix typo in variable ZED_POWER_OFF_ENCLOUSRE_SLOT_ON_FAULT #15651
  • Improve performance for zpool trim on linux #15843
  • BRT: Fix FICLONE/FICLONERANGE shortened copy #15728 #15842
  • Fix the FreeBSD userspace build (#15716)
  • zpool: Add slot power control, print power status #15662
  • zed: misc vdev_enc_sysfs_path fixes #15462
  • ZTS: Add dirty dnode stress test #15608
  • Linux 6.8 compat: handle mnt_idmap user_namespace change #15805
  • Linux 6.8 compat: fix inode permission tests #15805
  • Linux 6.8 compat: replace MAX_ORDER define #15805
  • Linux 6.8 compat: implement strlcpy fallback #15805
  • Linux 6.8 compat: update for new bdev access functions #15805
  • Linux 6.8 compat: make test functions static #15805
  • Linux 6.7 compat: META #15833
  • Don't assert mg_initialized due to device addition race #15818
  • Update man pages to time(1) from time(2) #15823
  • ZTS: Allow longer run time for zdb_args_pos #15826
  • Move nodes into correct subgraphs #15828
  • zpool wait: print timestamp before the header #15825
  • Update vdev devid and physpath if changed between imports #15816
  • ZTS: Update deprecated Github Action version numbers #15820
  • Switch to CodeQL to detect prohibited function use #15819 #14134
  • ZTS: Apply small changes for speeding up the tests #15811
  • FreeBSD: Fix bootstrapping tools under Linux/musl #15780
  • linux spl: fix typo in top comment of spl-condvar.c #15782
  • Make sure all necessary RPM path macros are defined #15756
  • Make spl_kmem_cache size check consistent #15757
  • Add path handling for aux vdevs in label_path #15737
  • Extend aux label to add path information #15737
  • fix: Uber block label not always found for aux vdevs #15737
  • Fix "out of memory" error #15747
  • fix: preserve linux kmod signature in zfs-kmod rpm spec #15744
  • fix(mount): do not truncate shares not zfs mount #15607 #15660
  • Fix a potential use-after-free in zfs_setsecattr() #15752
  • Linux: Defer loading the object set in zfs_setattr() #15752
  • Make zdb -R scale less poorly #15726
  • Stop wasting time on malloc in snprintf_zstd_header #15721
  • Fix file descriptor leak on pool import. #15630
  • ZTS: Apply zfs_bclone_enabled to bclone tests #15796
  • fix: variable type with zfs-tests/cmd/clonefile.c #15783
  • Fix cloning into mmaped and cached file. #15772
  • ZTS: Test for clone, mmap and write for block cloning #15717
  • Enable block_cloning tests on FreeBSD #15749
  • Block cloning tests. #15631
  • Test LWB buffer overflow for block cloning #15672
  • ZTS: Add test cases for block cloning replay #15614
  • ZTS: block_cloning: Use numeric sort for get_same_blocks #15614
  • Autotrim High Load Average Fix #15781
  • Linux 6.7 compat: zfs_setattr fix atime update #15762 #15773
  • compact: workaround for GPL-only symbols on riscv from Linux 6.2 #14974 #15627
  • spa: Let spa_taskq_param_get()'s addition of a newline be optional #15719
  • spa: Fix FreeBSD sysctl handlers #15719
  • freebsd: fix compile for spa_taskq_read/spa_taskq_write params
  • Fix livelist assertions for dedup and cloning #15732
  • Improve block sizes checks during cloning #15724 #15735
  • Linux 6.2 compat: add check for kernel_neon_* availability #15711 #14555
  • Don't panic on unencrypted block in encrypted dataset #15677
  • dbuf: Set dr_data when unoverriding after clone #15654 #15656
  • dbuf: Handle arcbuf assignment after block cloning #15653
  • DMU: Fix lock leak on dbuf_hold() error #15644
  • BRT: Limit brt_vdev_dump() to only one vdev #15625
  • ZIL: Remove 128K into 2x68K LWB split optimization #15634
  • zdb: Dump encrypted write and clone ZIL records #15629
  • Allow block cloning across encrypted datasets #15544
  • ZIL: Do not clone blocks from the future #15617
  • ZIL: Remove TX_CLONE_RANGE replay for ZVOLs. #15612
  • ZIO: Add overflow checks for linear buffers #15553
  • ZIL: Assert record sizes in different places #15517
  • L2ARC: Restrict write size to 1/4 of the device #15519
  • Linux: Reclaim unused spl_kmem_cache_reclaim #15507
  • FreeBSD: Optimize large kstat outputs #15495
  • Update the kstat dataset_name when renaming a zvol #15482 #15486
  • ABD: Be more assertive in iterators #15428
  • spa: make read/write queues configurable
  • Linux 6.5 compat: check BLK_OPEN_EXCL is defined #15692
  • ZTS: Disable io_uring test on CentOS 9 #15636
  • linux 6.7 compat: rework shrinker setup for heap allocations
  • linux 6.7 compat: handle superblock shrinker member change
  • linux 6.7 compat: use inode atime/mtime accessors
  • linux 6.7 compat: simplify current_time() check
zfs - zfs-2.2.2

Published by tonyhutter 11 months ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.6 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

Note: This release contains an important fix for a data corruption bug. Full details are in the issue (https://github.com/openzfs/zfs/issues/15526) and bug fix (https://github.com/openzfs/zfs/pull/15571). There's also a developer's bug summary that gives a good overview. We recommend everyone either upgrade to 2.2.2 or 2.1.14 to get the fix. The bug can cause data corruption due to an incorrect dirty dnode check. This bug is very hard to hit, and really only came to light due to changes in cp in coreutils 9.x. It's extremely unlikely that the bug was ever hit on EL7, EL8, or EL9 when running cp since they all use coreutils 8.x which performs file copies differently.

  • FreeBSD: Fix ZFS so that snapshots under .zfs/snapshot are NFS visible #15563
  • ZIL: Call brt_pending_add() replaying TX_CLONE_RANGE #15603
  • zdb: fix printf() length for uint64_t devid #15606
  • Linux 6.6 compat: fix configure error with clang (#15558)
  • zfs-dkms: fix shell-init error message #15576
  • FreeBSD: Fix the build on FreeBSD 12 #15551
  • dmu_buf_will_clone: fix race in transition back to NOFILL #15566 #15526
  • zdb: Fix zdb '-O|-r' options with -e/exported zpool #15532
  • zdb: show BRT statistics and dump its contents #15541
  • brt: lift internal definitions into _impl header #15541
  • ZTS: Fix zfs_load-key failures on F39 #15534 #15550
  • ZIL: Do not encrypt block pointers in lr_clone_range_t #15543 #15513
  • dnode_is_dirty: check dnode and its data for dirtiness #15571 #15526
  • Revert "Tune zio buffer caches and their alignments"
zfs - zfs-2.1.14

Published by tonyhutter 11 months ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.5 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

Note: This release contains an important fix for a data corruption bug. Full details are in the issue (https://github.com/openzfs/zfs/issues/15526) and bug fix (https://github.com/openzfs/zfs/pull/15571). There's also a developer's bug summary that gives a good overview. We recommend everyone either upgrade to 2.2.2 or 2.1.14 to get the fix. The bug can cause data corruption due to an incorrect dirty dnode check. This bug is very hard to hit, and really only came to light due to changes in cp in coreutils 9.x. It's extremely unlikely that the bug was ever hit on EL7, EL8, or EL9 when running cp since they all use coreutils 8.x which performs file copies differently.

  • copy-builtin: add hooks with sed/>> #13316
  • Zpool can start allocating from metaslab before TRIMs have completed #15395
  • dnode_is_dirty: check dnode and its data for dirtiness #15571 #15526
zfs - zfs-2.2.1

Published by tonyhutter 11 months ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.6 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

Note: We recommend that anyone running zfs-2.2.0 to please update to this release. Gentoo users have identified a block cloning bug (https://github.com/openzfs/zfs/issues/15526) that can result in data corruption in zfs-2.2.0. To workaround this, zfs-2.2.1 disables block cloning by default (see https://github.com/openzfs/zfs/pull/15529 and 479dca51c66a731e637bd2d4f9bba01a05f9ac9f). Users running the 2.1.x branch or older are unaffected, as block cloning is a 2.2.x-only feature.

  • ZTS: Fix 'could not unmount datasets' on Alma 9 (https://github.com/openzfs/zfs/pull/15542)
  • zfs-2.2.1: Disable block cloning by default (479dca51c66a731e637bd2d4f9bba01a05f9ac9f)
  • Add a tunable to disable BRT support. #15529
  • Packaging: Auto-generate changelog during configure (#15528)
  • Linux 6.6 compat: META #15520
  • Workaround UBSAN errors for variable arrays #15510
  • ZTS: Test for all known zpool feature sets #15505
  • Update zpool-features.7 for grub2 compatibility list updates #15505
  • Workaround to allow openzfs-zfs-dkms install on Ubuntu #15503
  • Linux: reject read/write mapping to immutable file only on VM_SHARED #15344
  • Fix accounting error for pending sync IO ops in zpool iostat #15478
  • Linux 6.6 compat: fix implicit conversion error with debug build #15489
  • Remove obsolete_counts from grub2 compatibility list #15499
  • Fix dkms installation of deb packages created with Alien. #15415
  • Add all read-only compatible zpool features to grub2 compatibility #15459
  • Unify arc_prune_async() code #15456
  • Tune zio buffer caches and their alignments #15452
  • DMU: Do not pre-read holes during write #15371
  • Linux 6.6 compat: fsync_bdev() has been removed in favor of sync_blockdev() #15263
  • Linux 6.6 compat: generic_fillattr has a new u32 request_mask added at arg2 #15263
  • Linux 6.6 compat: use inode_get/set_ctime*(...) #15263 #15257
  • Read prefetched buffers from L2ARC #15451
  • Add mutex_enter_interruptible() for interruptible sleeping IOCTLs #15360
  • Revert "zvol: Temporally disable blk-mq" #15439
  • zvol: Remove broken blk-mq optimization #15351
  • "ARC prefetch metadata accesses:" appears twice in the output. #15427
  • Trust ARC_BUF_SHARED() more #15397
  • Remove lock from dsl_pool_need_dirty_delay() #15390
  • run-zts test procfs/pool_state failed with uncorrectable I/O failure #15364
  • Properly pad struct tx_cpu to cache line #15402
  • Fix typo in tests/zfs-tests/tests/functional/cli_user/misc/misc.cfg #15417
  • FreeBSD: taskq: Remove unused declaration #15416
  • Set spa_ccw_fail_time=0 when expanding a vdev. #15405
  • Fix ZED auto-replace for VDEVs using by-id paths #15363
  • Add zfs_prepare_disk script for disk firmware install #15243
  • Large sync writes perform worse with slog #14378
  • FreeBSD: Improve taskq wrapper #15356
  • Fix block cloning between unencrypted and encrypted datasets #15464 #15465
zfs - zfs-2.2.0

Published by behlendorf about 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.5 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

New Features

  • Block cloning (#13392) - Block cloning is a facility that allows a file (or parts of a file) to be "cloned", that is, a shallow copy made where the existing data blocks are referenced rather than copied. Later modifications to the data will cause a copy of the data block to be taken and that copy modified. This facility is used to implement "reflinks" or "file-level copy-on-write". Many common file copying programs, including newer versions of /bin/cp on Linux, will try to create clones automatically.

  • Linux container support (#12209, #14070, #14097, #12263) - Added support for Linux-specific container interfaces such as renameat(2), support for overlayfs, idmapped mounts in a user namespace, and namespace delegation support for containers.

  • Scrub error log (#12812, #12355) - zpool status will report all filesystems, snapshots, and clones affected by a shared corrupt block. zpool scrub -e can be used to scrub only the known damaged blocks in the error log to perform a fast, targeted repair when possible.

  • BLAKE3 checksums (#12918) - BLAKE3 is a modern cryptographic hash algorithm focused on high performance. It is much faster than sha256, sha512, and can be up 3x faster than Edon-R. BLAKE3 is the recommended secure checksum.

  • Corrective "zfs receive" (#9372) - A new type of zfs receive which can be used to heal corrupted data in filesystems, snapshots, and clones when a replica of the data already exists in the form of a backup send stream.

  • Vdev properties (#11711) - Provides observability of individual vdevs in a programmatic way.

  • Vdev and zpool user properties (#11680) - Lets you set custom user properties on vdevs and zpools, similar to the existing zfs dataset user properties.

Performance

  • Fully adaptive ARC (#14359) - A unified ARC which relaxes the artificial limits imposed by both the MRU/MFU distribution and data/metadata distinction. This allows the ARC to better adjust to highly dynamic workloads and minimizes the need for manual workload-dependent tuning.

  • SHA2 checksums (#13741) - Optimized SHA2 checksum implementation to use hardware acceleration when available.

  • Edon-R checksums (#13618) - Reworked the Edon-R variants and optimized the code to make several minor speed ups.

  • ZSTD early abort (#13244) - When using the zstd compression algorithm, data that can not be compressed is detected quickly, avoiding wasted work.

  • Prefetch improvements (#14603, #14516, #14402, #14243, #13452) - Extensive I/O prefetching analysis and optimization.

  • General optimization (#14121, #14123, #14039, #13680, #13613, #13606, #13576, #13553, #12789, #14925, #14948) - Numerous performance improvements throughout.

Additional Information

  • Documentation - OpenZFS documentation for Linux and FreeBSD.

  • Change log - Complete v2.1.0 - v2.2.0 change log

  • Module options - The default values for the module options were selected to yield good performance for the majority of workloads and configurations. They should not need to be tuned for most systems but are available for performance analysis and tuning. See the module parameters documentation for the complete list of the options and what they control.

zfs - zfs-2.2.0-rc5

Published by behlendorf about 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.5 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • ZIL: Reduce maximum size of WR_COPIED to 7.5K #15353
  • rpm: Fix make rpm on Debian/Ubuntu #15355 #15365
  • import: require force when cachefile hostid doesn't match on-disk #15290
  • tests: add tests for zpool import behaviour when hostid changes #15290
  • zfsconcepts: add description of block cloning #15362
  • Reduce number of metaslab preload taskq threads. #15319
  • CI: add FreeBSD build with Cirrus CI #15332
  • tests/block_cloning: sync before write in fallback test #15359
  • ARC: Drop different size headers for crypto #15293 #15347
  • ARC: Remove b_bufcnt/b_ebufcnt from ARC headers #15350
  • ARC: Remove b_cv from struct l1arc_buf_hdr #15340
  • Add BTI landing pads to the AArch64 SHA2 assembly #14862 #15339
  • Add '-u' - nomount flag for zfs set #15322
  • Improve the handling of sharesmb,sharenfs properties #15240
  • Update the behavior of mountpoint property #15240
  • contrib: debian: drop bashcompletion mangling after install #15304 #15304
  • contrib: debian: switch to dh-sequence-dkms #15304
  • contrib: bash_completion.d: make install destination vendor dependent #15304
  • Fix invalid pointer access in trace_dbuf.h #15333
  • Report ashift of L2ARC devices in zdb #15331
  • Restrict short block cloning requests #15321
  • Tweak rebuild in-flight hard limit #15324
  • Fix ENOSPC for extended quota #15312
  • Don't allocate from new metaslabs #15307 #15308
  • Reduce trim min size even lower for tests to reduce flakiness #15315
  • ZTS: Fix introduced test bug in block_cloning_copyfilerange #15316
  • ZTS: Add additional exceptions #15306
  • Set timeout before creating pool in test #15309
  • Invoke zdb by guid to avoid import errors #15298
  • ZIL: Avoid dbuf_read() in ztest_get_data() #15301
  • tests/block_cloning: try harder to stay on same txg in fallback test #15303
  • status: report pool suspension state under failmode=continue #15297
  • Fix occasional rsend test crashes #15273
  • cmd: add 'help' subcommand to zpool and zfs #15288
  • Fix incorrect expected error in ztest #15295
  • Fix l2arc_apply_transforms ztest crash #15177 #15248
  • tests: install missing PAM tests #15291
  • ZIL: Fix potential race on flush deferring. #15278
  • Retire z_nr_znodes #15274
  • zed: Allow autoreplace and fault LEDs for removed vdevs #15281
  • check-zstd-symbols: also ignore _pfx symbols #15282 #15284
  • Remove implication that child disks aren't vdevs in zpoolconcepts(7) #15247
  • update max_variance limit in zdb_block_size_histogram test for CI #15252
  • Update the MOS directory on spa_upgrade_errlog() #15279 #15277
  • Linux 6.5 compat: META #15265
  • Linux 6.5 compat: spl: properly unregister sysctl entries #15239
  • Linux 6.5 compat: safe cleanup in spl_proc_fini() #15234 #15235
  • Linux 6.5 compat: Use copy_splice_read instead of filemap_splice_read #15164
  • Linux 6.5 compat: replace generic_file_splice_read with filemap_splice_read #15155
  • Linux 6.5 compat: register_sysctl_table removed #15138
  • Revert "Linux 6.5 compat: register_sysctl_table removed" #15134
  • Linux 4.20 compat: wrapper function for iov_iter type access #15100
  • Linux 6.4 compat: iter_iov() function now used to get old iov member #15100
  • Linux 6.5 compat: blkdev changes #15099
  • Linux 6.5 compat: use disk_check_media_change when it exists #15101
  • Linux 6.5 compat: register_sysctl_table removed #15098
  • Add more constraints for block cloning. #15251
zfs -

Published by tonyhutter about 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.5 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • check-zstd-symbols: also ignore _pfx symbols #15282 #15284
  • Cleanup: Replace oldstyle struct hack with C99 flexible array members #14372
  • Linux 6.5 compat: META (#15265)
  • checkstyle: fix action failures #15220
  • zed: update zed.d/statechange-slot_off.sh #15210
  • zed: Add zedlet to power off slot when drive is faulted #15200
  • intptr_t definition is canonically signed #15058
  • Linux 6.5 compat: spl: properly unregister sysctl entries #15239
  • Linux 6.5 compat: safe cleanup in spl_proc_fini() #15234 #15235
  • Linux 6.5 compat: Use copy_splice_read instead of filemap_splice_read #15164
  • Linux 6.5 compat: replace generic_file_splice_read with filemap_splice_read #15155
  • Linux 6.5 compat: register_sysctl_table removed #15138
  • Revert "Linux 6.5 compat: register_sysctl_table removed" #15134
  • Linux 4.20 compat: wrapper function for iov_iter type access #15100
  • Linux 6.4 compat: iter_iov() function now used to get old iov member #15100
  • Linux 6.5 compat: blkdev changes #15099
  • Linux 6.5 compat: use disk_check_media_change when it exists #15101
  • Linux 6.5 compat: register_sysctl_table removed #15098
  • Linux 6.5 compat: disk_check_media_change() was added #15060
  • Linux 6.5 compat: BLK_STS_NEXUS renamed to BLK_STS_RESV_CONFLICT #15059
  • Linux: Never sleep in kmem_cache_alloc(..., KM_NOSLEEP) (#14926)
  • quick fix for lingering snapdir unmount problems #14462
  • Workaround issue cleaning up automounted snapshots on Linux #11632 #12670
  • Linux 6.4 compat: META #15125
  • zed: Reduce log noise for large JBODs #15086 #15094
  • zed: Fix zed ASSERT on slot power cycle #15084
  • Fix raw receive with different indirect block size. #15039
  • Fix remount when setting multiple properties. #15000
  • Shorten arcstat_quiescence sleep time
  • Store the L2ARC device ashift in the vdev label #14313 #14963
  • Fix the L2ARC write size calculating logic (2) #14936 #14954
  • Fix the L2ARC write size calculating logic #14939
  • Remove duplicate code in l2arc_evict() #14828
  • Fix memory leak in zil_parse().
  • contrib/bash_completion.d: fix error spew from __zfs_match_snapshot() #12820
  • tests: zts-report: issue numbers are numbers #13259
  • zfs-dkms rpm: simplify scriptlets, fix uninstall #10463 #13182
zfs - zfs-2.2.0-rc4

Published by behlendorf about 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.4 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • Intel QAT 1.7 compatibility #15190
  • Relax error reporting in zpool import and zpool split #15216
  • ZIL: Change ZIOs issue order. #15233
  • ZIL: Revert zl_lock scope reduction. #15228
  • ZIL: Tune some assertions. #15227
  • dmu_buf_will_clone: change assertion to fix 32-bit compiler warning #15224
  • checkstyle: fix action failures #15220
  • Try to clarify wording to reduce zpool add incidents #15179
  • Avoid save/restoring AMX registers to avoid a SPR erratum #14989 #15168
  • zed: update zed.d/statechange-slot_off.sh #15210
  • Make zoned/jailed zfsprops(7) make more sense. #15161
  • tests/block_cloning: rename and document get_same_blocks helper #15181
  • Update outdated assertion from zio_write_compress #15180
  • zed: Add zedlet to power off slot when drive is faulted #15200
  • copy_file_range: fix fallback when source create on same txg #15170 #15172
  • Move zinject from openzfs-zfs-test to openzfs-zfsutils #15160
  • dracut: support mountpoint=legacy for root dataset #15149
  • zfs_clone_range should return a descriptive error codes #15148
  • libzfs: sendrecv: send_progress_thread: handle SIGINFO/SIGUSR1 #15113
  • linux/spl/kmem_cache: undefine kmem_cache_alloc before defining it #15144
  • Fix some typos #15141
  • ZIL: Second attempt to reduce scope of zl_issuer_lock. #15122
  • ZIL: Replay blocks without next block pointer. #15132
  • ZIL: Avoid dbuf_read() before dmu_sync(). #15153
  • Remove fastwrite mechanism. #15107
  • Avoid waiting in dmu_sync_late_arrival(). #15096
  • zpool_vdev_remove() should handle EALREADY error return #15013 #15129
  • linux: zfs: ctldir: set [amc]time to snapshot's creation property #15110 #15117
  • readmmap.c: fix building with MUSL libc #15130
  • Check the return value in clonefile test #15128
  • linux/copy_file_range: properly request a fallback copy on Linux <5.3 #15131
  • zdb: include cloned blocks in block statistics #15123
zfs - zfs-2.2.0-rc3

Published by behlendorf about 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.4 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • BRT should return EOPNOTSUPP #15097
  • zts: block cloning tests #15050 #405 #13349
  • linux: implement filesystem-side copy/clone functions for EL7 #15050
  • linux: implement filesystem-side clone ioctls #15050
  • linux: implement filesystem-side copy/clone functions #15050
  • dbuf_sync_leaf: check DB_READ in state assertions #15050
  • dmu_buf_will_clone: only check that current txg is clean #15050
  • brt_vdev_realloc: use vmem_alloc for large allocation #15050
  • zfs_clone_range: use vmem_malloc for large allocation #15050
  • zed: Reduce log noise for large JBODs #15086 #15094
  • Linux 6.4 compat: META #15095
  • Remove zl_issuer_lock from zil_suspend(). #15103
  • ZIL: Fix config lock deadlock. #15078 #15080
  • Update changelog for OpenZFS 2.2.0 release #15104
zfs - zfs-2.2.0-rc2

Published by behlendorf about 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.3 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • shellcheck: disable "unreachable command" check [SC2317] #15089
  • metaslab: tuneable to better control force ganging #15088
  • Adjust prefetch parameters. #15072
  • Add explicit prefetches to bpobj_iterate(). #15071
  • Don't emit cksum_{actual_expected} in ereport.fs.zfs.checksum events #15052 #14717
  • Don't emit checksum histograms in ereport.fs.zfs.checksum events #15052 #14717
  • zed: Fix zed ASSERT on slot power cycle #15084
  • Fix zpl_test_super race with zfs_umount #15077
  • spa_min_alloc should be GCD, not min #15067
  • Don't panic if setting vdev properties is unsupported for this vdev type #15063
  • Ignore pool ashift property during vdev attachment #15061
  • Rollback before zfs root is mounted #15025
  • Do not request data L1 buffers on scan prefetch. #15029
  • Linux 6.5 compat: disk_check_media_change() was added #15060
  • Linux 6.5 compat: BLK_STS_NEXUS renamed to BLK_STS_RESV_CONFLICT #15059
  • Linux 6.5 compat: intptr_t definition is canonically signed #15058
  • set autotrim default to 'off' everywhere #15079
  • Fix the ZFS checksum error histograms with larger record sizes #15049
  • Fix raw receive with different indirect block size. #15039
  • Avoid extra snprintf() in dsl_deadlist_merge(). #15056
  • Add missed DMU_PROJECTUSED_OBJECT prefetch. #15024
  • FreeBSD: catch up to __FreeBSD_version 1400093 #15036
  • FreeBSD: Fix build on stable/13 after 1302506. #15047
zfs - zfs-2.2.0-rc1

Published by behlendorf over 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.3 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

New features:

  • Fully adaptive ARC eviction (#14359)
  • Block cloning (#13392)
  • Scrub error log (#12812, #12355)
  • Linux container support (#14070, #14097, #12263)
  • BLAKE3 checksums (#12918)
  • Corrective "zfs receive" (#9372)
  • Zstd early abort (#13244)
  • Vdev Properties (#11711)
  • Prefetch improvements (#14603, #14516, #14402, #14243, #13452)
zfs - zfs-2.1.12

Published by tonyhutter over 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.3 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • Fix Clang 15 compilation errors #13260 #14150 #14624
  • Linux 6.3 compat: META (#14930)
  • Silence clang warning of flexible array not at end #14764
  • Linux 6.4 compat: reclaimed_slab renamed to reclaimed #14891
  • Linux 6.3 compat: Fix memcpy "detected field-spanning write" error #14737
  • Linux 6.3 compat: idmapped mount API changes #14682
  • Linux 6.3 compat: writepage_t first arg struct folio* #14699
  • Workaround for Linux PowerPC GPL-only cpu_has_feature() #14590
  • Linux: use filemap_range_has_page() #14493
  • Speed up WB_SYNC_NONE when a WB_SYNC_ALL occurs simultaneously
  • writeback since it needs to wait for the transaction to complete #12662 #12790
  • ZIL: Allow to replay blocks of any size.
  • zil: Don't expect zio_shrink() to succeed. #14853
  • Remove single parent assertion from zio_nowait(). #14823
  • Fix two abd_gang_add_gang() issues. #14816
  • Mark TX_COMMIT transaction with TXG_NOTHROTTLE. #14798
  • Fix positive ABD size assertion in abd_verify(). #14795
  • Move zap_attribute_t to the heap in dsl_deadlist_merge #14524
  • Revert "initramfs: use mount.zfs instead of mount" #14908
  • Fix NULL pointer dereference when doing concurrent 'send' operations #14903 #14890
  • ZTS: threadsappend_001_pos
  • Fix test-runner on FreeBSD #12995
  • FreeBSD: add missing vop_fplookup assignments #14788
  • FreeBSD: don't verify recycled vnode for zfs control directory #14501
  • Fix checkstyle warning #14799
  • FreeBSD: add missing vn state transition for .zfs #14774
  • FreeBSD: fix up EINVAL from getdirentries on .zfs #14774
  • FreeBSD: make zfs_vfs_held() definition consistent with declaration #14776
  • Refine special_small_blocks property validation #13815 #14811
  • ZTS: Add zpool_resilver_concurrent exception #14904
  • ZTS: Add auto_replace_001_pos to exceptions #14852
  • ZTS: Annotate additonal flaky test cases #14392
  • ZTS: add snapshot/snapshot_002_pos exception #14832
  • ZTS: send-c_volume is flaky #14767
  • Storage device expansion "silently" fails on degraded vdev 14145
  • Use vmem_zalloc to silence allocation warning #8491 #14694
  • Add the ability to uninitialize #12451 #14873
  • Probe vdevs before marking removed #14861
  • Fix concurrent resilvers initiated at same time #14881 #14892
  • zdb: consistent xattr output #14830
  • Add dmu_tx_hold_append() interface #14819
  • pam: Fix "buffer overflow" in pam ZTS tests on F38 #14802 #14842
  • ZTS: Minor fixes
  • Wait for txg sync if the last DRR_FREEOBJECTS might result in a hole #11893 #14358
  • zpool import -m also removing spare and cache when log device is missing #14794
  • Allow MMP to bypass waiting for other threads #14659
  • Increase default zfs_rebuild_vdev_limit to 64MB #14428
  • Increase default zfs_scan_vdev_limit to 16MB #14428
  • Improve resilver ETAs #14410
  • Fix "Detach spare vdev in case if resilvering does not happen" #14722
  • Linux: zfs_fillpage() should handle partial pages from end of file #14534
  • Fix buffered/direct/mmap I/O race #13608 #14498
zfs - zfs-2.1.11

Published by tonyhutter over 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.2 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

This is a small release containing a fix for a possible data corruption bug (see https://github.com/openzfs/zfs/issues/14753)

  • Values printed by zpool-iostat(8) should be right-aligned #14751
  • Revert "ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced()" #14761
  • contrib: dracut: fix race with root=zfs:dset when necessities required
zfs - zfs-2.1.10

Published by tonyhutter over 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.2 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • Removed Python 2 and Python 3.5- support #12925
  • linux 6.3 compat: needs REQ_PREFLUSH | REQ_OP_WRITE #14695
  • Fix "Add colored output to zfs list" #14712
  • ZTS: Log test name to /dev/kmsg on Linux #13227
  • Add Linux kmemleak support to ZTS #13084
  • Linux 6.2 compat: META #14689
  • Fix console progress reporting for recursive send #14448
  • zfs_main.c: fix unused variable error with GCC #14441
  • Use setproctitle to report progress of zfs send #14376
  • Additional limits on hole reporting #14512 #14641
  • Add colored output to zfs list #14621 #14350
  • Colorize zpool iostat output #14621 #14459
  • Add more ANSI colors to libzfs #14621
  • linux 6.3 compat: add another bdev_io_acct case #14658 #14668
  • Update vdev state for spare vdev #14653
  • zed: add hotplug support for spare vdevs #14295
  • zed: post a udev change event from spa_vdev_attach() #14172
  • zed: mark disks as REMOVED when they are removed
  • FreeBSD: Remove extra arc_reduce_target_size() call #14639
  • Improve arc_read() error reporting
  • QAT: Fix uninitialized seed in QAT compression #14632 #14463
  • Fix for mountpoint=legacy #14599 #14604
  • ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced() #13368
  • Update workflows
  • Workaround GitHub Action failure #14530
  • Ubuntu 22.04 integration: GitHub workflows #14148
  • initramfs: fix zpool get argument order #14572
  • Turn default_bs and default_ibs into ZFS_MODULE_PARAMs #14293
  • Add missing increment to dsl_deadlist_move_bpobj() #14573
  • Optimize the is_l2cacheable functions #14494 #14563
  • System-wide speculative prefetch limit. #14516
  • Prefetch on deadlists merge #14402
  • Introduce minimal ZIL block commit delay #14418
  • Pack zrlock_t by 8 bytes #14317
  • Remove few pointer dereferences in dbuf_read() #14199
  • Switch dnode stats to wmsums #14198
  • Micro-optimize zrl_remove() #14200
  • Remove atomics from zh_refcount #14196
  • Optimize microzaps #14039
  • autoconf: add support for openEuler #14241
  • Set DEFAULT_INIT_SHELL to /sbin/openrc-run for Gentoo and Alpine #12683 #12692
  • rpm: add support for openEuler #14222
  • Revert zfeature_active() to static
  • Move dmu_buf_rele() after dsl_dataset_sync_done() #14522 #14523
  • Partially revert eee9362a7 #14502
  • Fix a race condition in dsl_dataset_sync() when activating features #13816
  • initramfs: Make mountpoint=none work #14455
  • Avoid a null pointer dereference in zfs_mount() on FreeBSD #14218
  • Allow mounting snapshots in .zfs/snapshot as a regular user #13758
zfs - zfs-2.1.9

Published by tonyhutter over 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.1 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • linux 6.2 compat: zpl_set_acl arg2 is now struct dentry
  • Revert "ztest fails assertion in zio_write_gang_member_ready()" #14413
zfs - zfs-2.1.8

Published by tonyhutter over 1 year ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.1 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • change how d_alias is replaced by du.d_alias #14377
  • Linux ppc64le ieee128 compat: Do not redefine __asm on external headers #14308 #14384
  • include systemd overrides to zfs-dracut module #14075 #14076
  • Activate filesystem features only in syncing context #14304 #14252
  • Illumos #15286: do_composition() needs sign awareness #14318 #14342
  • dracut: fix typo in mount-zfs.sh.in #13602
  • removal of LegacyVersion broke ax_python_dev.m4 #14297
  • FreeBSD: catch up to 1400077 #14328
  • Fix shebang for helper script of deb-utils #14339
  • Add quotation marks around $PATH for deb-utils #14339
  • Documentation corrections #14298 #14307
  • systemd: set restart=always for zfs-zed.service #14294
  • Add color output to zfs diff.
  • libzfs: diff: simplify superfluous stdio #12829
  • libzfs: diff: print_what() can return the symbol => get_what() #12829
  • FreeBSD: Remove stray debug printf #14286 #14287
  • Zero end of embedded block buffer in dump_write_embedded() #13778 #14255
  • Change ZEVENT_POOL_GUID to ZEVENT_POOL to display pool names #14272
  • Restrict visibility of per-dataset kstats inside FreeBSD jails #14254
  • Fix dereference after null check in enqueue_range #14264
  • Fix potential buffer overflow in zpool command #14264
  • FreeBSD: zfs_register_callbacks() must implement error check correctly #14261
  • fgrep -> grep -F #13259
  • egrep -> grep -E #13259
  • Update META to 6.1 kernel #14371
  • ztest fails assertion in zio_write_gang_member_ready() #14250 #14356
  • Introduce ZFS_LINUX_REQUIRE_API autoconf macro #14343
  • linux 6.2 compat: bio->bi_rw was renamed bio->bi_opf #14324 #14331
  • linux 6.2 compat: get_acl() got moved to get_inode_acl() in 6.2 #14323 #14331
  • Linux 6.1 compat: open inside tmpfile() #14301 #14343
  • ZTS: close in mmapwrite.c #14353
  • ZTS: limit mmapwrite file size #14277 #14345
  • skip permission checks for extended attributes
  • Allow receiver to override encryption properties in case of replication
  • zed: unclean disk attachment faults the vdev
  • FreeBSD: Fix potential boot panic with bad label #14291
  • Add workaround for broken Linux pipes #13309
  • initramfs: Fix legacy mountpoint rootfs #14274
  • vdev_raidz_math_aarch64_neonx2.c: suppress diagnostic only for GCC
  • tests: mkfile: usage: () -> (void)
  • Use Ubuntu 20.04 and remove Ubuntu 18.04 from workflows #14238
  • dracut: skip zfsexpandknoweldge when zfs_devs is present in dracut #13121
zfs - zfs-2.1.7

Published by tonyhutter almost 2 years ago

Supported Platforms

  • Linux: compatible with 3.10 - 6.0 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • zfs-2.1.7: Use ubuntu-20.04 for zloop and sanity builders
  • Fix setting the large_block feature after receiving a snapshot #13699 #13782
  • Make autodetection disable pyzfs for kernel/srpm configurations #13394 #14178
  • Don't leak packed recieved proprties #14197
  • Fix NULL pointer dereference in dbuf_prefetch_indirect_done() #14210
  • Lua: Fix bad bitshift in lua_strx2number() #14204
  • Fix clang 13 compilation errors #13551
  • Remove final K&R definitions #13447
  • module: zfs: vdev_removal: remove unused num_indirect #13304
  • tests: cmd: draid: remove unused and undocumented -v #13304
  • linux: libspl: zone: () -> (void) #12968
  • Correct multipathd.target to .service #12709 #14171
  • Handle and detect #13709's unlock regression (#14161)
  • Fix arc_p aggressive increase #14137 #14120
  • FreeBSD: Fix out of bounds read in zfs_ioctl_ozfs_to_legacy() #14135
  • Expose zfs_vdev_open_timeout_ms as a tunable #14133
  • Remove an unused variable #14125
  • Make 1-bit bitfields unsigned #14125
  • Address warnings about possible division by zero from clangsa #14124
  • Avoid null pointer dereference in dsl_fs_ss_limit_check() #14103
  • Fix too few arguments to formatting function #14098
  • Remove zpl_revalidate: fix snapshot rollback #9600 #14070
  • Fix theoretical use of uninitialized values #14043
  • Fix memory leaks in dmu_send()/dmu_send_obj() #13973
  • Fix possible NULL pointer dereference in sha2_mac_init() #14044
  • set_global_var() should not pass NULL pointers to dlclose() #14044
  • Fix NULL pointer dereference in spa_open_common() #14044
  • Fix NULL pointer passed to strlcpy from zap_lookup_impl() #14044
  • fm_fmri_hc_create() must call va_end() before returning #14044
  • Fix NULL pointer dereference in zdb #14044
  • ZED: Fix uninitialized value reads #14047
  • Fix theoretical array overflow in lua_typename() #13947
  • Fix potential NULL pointer dereference in lzc_ioctl() #14008
  • scripts/enum-extract.pl should not hard code perl path #14012
  • PAM: Fix unchecked return value from zfs_key_config_load() #13978
  • Fix potential NULL pointer dereference in dsl_dataset_promote_check() #13967
  • Fix unreachable code in zstreamdump #13946
  • PAM: Fix uninitialized value read #13957
  • set_global_var_parse_kv() should pass the pointer from strdup() #13867
  • Call va_end() before return in zpool_standard_error_fmt() #13904
  • Fix potential NULL pointer dereference in zfsdle_vdev_online() #13903
  • FreeBSD: Fix uninitialized pointer read in spa_import_rootpool() #13923
  • Linux: Fix use-after-free in zfsvfs_create() #13883
  • Fix null pointer dereferences in PAM #13889
  • Handle ECKSUM as new EZFS_CKSUM ‒ "insufficient replicas" #6805 #13808 #13898
  • Fix use-after-free bugs in icp code #13881
  • Remove incorrect free() in zfs_get_pci_slots_sys_path() #13864
  • Cleanup: Make memory barrier definitions consistent across kernels #13843
  • zpool_load_compat() should create strings of length ZFS_MAXPROPLEN #13866
  • icp: fix all !ENDBR objtool warnings in x86 Asm code #14035
  • icp: fix rodata being marked as text in x86 Asm code #14035
  • icp: properly fix all RETs in x86_64 Asm code #14035
  • libzfs recv: Check if user prop before inheritable
  • dsl_prop_known_index(): check for invalid prop #14142 #14147
  • zed: Avoid core dump if wholedisk property does not exist #14062
  • zed: Prevent special vdev to be replaced by hot spare #14129
  • Deny receiving into encrypted datasets if the keys are not loaded (#14139) #13598 #14055 #14119
  • zil: Relax assertion in zil_parse #14116
  • quota: extend quota for dataset #13839
  • Fix ARC target collapse when zfs_arc_meta_limit_percent=100 #14054 #14093
  • Propagate extent_bytes change to autotrim thread #14077
  • Linux 6.1 compat: change order of sys/mutex.h includes #14040
  • Linux 6.0 compat: META #14091
  • Linux compat: fix DECLARE_EVENT_CLASS() test when ZFS is built-in #14006
  • zfs_domount: fix double-disown of dataset / double-free of zfsvfs_t #14025
  • Linux: Remove ZFS_AC_KERNEL_SRC_MODULE_PARAM_CALL_CONST autotools check #13984 #14004
  • CI: bump actions/upload-artifact to v3 #14018
  • CI: bump actions/checkout to v3 #14018
  • Stop ganging due to past vdev write errors #14003
  • zvol_wait logic may terminate prematurely #13998
  • Remove ambiguity on demand vs prefetch stats reported by arc_summary #13985
  • Fix panic in dsl_process_sub_livelist for EINTR #13939
  • Bring per_txg_dirty_frees_percent back to 30 #13932 #13938
  • Add options to zfs redundant_metadata property #13680
  • FreeBSD: vn_flush_cached_data: observe vnode locking contract #14079
  • FreeBSD: Fix a pair of bugs in zfs_fhtovp() #14001 #13974
  • Fix sequential resilver drive failure race condition #14041 #14050
  • contrib: dracut: zfs-snapshot-bootfs: exit status fix
  • contrib: dracut: zfs-{rollback,snapshot}-bootfs: explicit snapname fix #13585
  • kcfpool_alloc() should have its argument list marked void #14023
  • etc: mask zfs-load-key.service #14010 #14019
  • initramfs: use mount.zfs instead of mount #13305
zfs - zfs-2.1.6

Published by tonyhutter about 2 years ago

Supported Platforms

  • Linux: compatible with 3.10 - 5.19 kernels
  • FreeBSD: compatible with releases starting from 12.2-RELEASE

Changes

  • Fix bad free in skein code #13954
  • zpool: Don't print "repairing" on force faulted drives #13927 #13930
  • FreeBSD: handle V_PCATCH #13910
  • FreeBSD: catch up to 1400068 #13909
  • FreeBSD: stop passing LK_INTERLOCK to VOP_LOCK #13908
  • FreeBSD: Fix integer conversion for vnlru_free{,_vfsops}() #13882
  • FreeBSD: Ignore symlink to i386 includes #13719
  • LUA: Fix CVE-2014-5461 #13949
  • Linux: Fix uninitialized variable usage in zio_do_crypt_data() #13944
  • Refactor Log Size Limit #13476
  • Revert "Reduce dbuf_find() lock contention"
  • Add zfs_btree_verify_intensity kernel module parameter #13874
  • Fix incorrect size given to bqueue_enqueue() call in dmu_redact.c #13885
  • Delay ZFS_PROP_SHARESMB property to handle it for encrypted raw receive #13878
  • zfs recv hangs if max recordsize is less than received recordsize #13855
  • include: move SPA_MINBLOCKSHIFT and zio_encrypt to sys/fs/zfs.h #12116
  • Improve too large physical ashift handling #13798
  • Ask libtool to stop hiding some errors #13086
  • Add Module Parameter Regarding Log Size Limit #12284
  • Optimize txg_kick() process (#12274) #12274
  • zfs recv hangs if max recordsize is less than received recordsize #13855
  • make DMU_OT_IS_METADATA and DMU_OT_IS_ENCRYPTED return B_TRUE or B_FALSE #13842
  • vdev_draid_lookup_map() should not iterate outside draid_maps #13865
  • Add physical device size to SIZE column in 'zpool list -v' #12561 #13106
  • Introduce a tunable to exclude special class buffers from L2ARC #11761 #12285
  • config: check for parallel(1), use it for cstyle
  • zed: Fix config_sync autoexpand flood #13729
  • Add xattr_handler support for Android kernels #13824
  • Fix column width in 'zpool iostat -v' and 'zpool list -v' #13811
  • FreeBSD: Mark ZFS_MODULE_PARAM_CALL as MPSAFE #13756
  • Apply arc_shrink_shift to ARC above arc_c_min #13794
  • Importing from cachefile can trip assertion #13781
  • ZTS: Fix zpool_expand_001_pos #13743
  • zed: Look for NVMe DEVPATH if no ID_BUS #13512 #13646
  • zed: Ignore false 'atari' partitions in autoreplace #13497 #13632
  • rpm: Silence "unversioned Obsoletes" warnings on EL 9 #13584 #13638
  • rpm: Use the correct version-release information in dependencies #13489
  • Fix use-after-free in btree code #10989 #13861
  • contrib: dracut: zfs-snapshot-bootfs: exit status fix #13769
  • arcstat: fix -p option #12916 #13767
  • Fix problem with zdb_objset_id test.
  • Linux 6.0 compat: register_shrinker() now var-arg #13748
  • Linux 5.20 compat: blk_cleanup_disk() #13728
  • Linux 5.20 compat: bdevname() #13728
  • Linux 5.19 compat: META #13715
  • Fix problem with zdb -d #12845 #12944
  • Fix checkstyle warning: E275 missing whitespace after keyword #13710
  • Revert behavior of 59eab109 on not-Linux #12698
  • Handle partial reads in zfs_read #12370 #12509 #12516
  • module: lua: ldo: fix pragma name #13348
  • ZTS: Fix io_uring support check #13648 #13685
  • Fix objtool: missing int3 after ret warning #13528 #13575
  • ICP: Add missing stack frame info to SHA asm files #11733
  • Fix -Wformat-overflow warning in zfs_project_handle_dir() #13528 #13575
  • Fix -Wformat-truncation warning in upgrade_set_callback() #13528 #13575
  • Fix -Wuse-after-free warning in dbuf_destroy() #13528 #13575
  • Fix -Wuse-after-free warning in dbuf_issue_final_prefetch_done() #13528 #13575
  • Fix -Wattribute-warning in dsl layer #13528 #13575
  • Fix -Wattribute-warning in edonr #13528 #13575
  • Fix -Wattribute-warning in zfs_log_xvattr() #13528 #13575
  • Silence -Winfinite-recursion warning in luaD_throw() #13528 #13575
  • config: prune unused -Wno-bool-compare checks #13110
  • libtpool: -Wno-clobbered #13110
  • Remove sha1 hashing from OpenZFS, it's not used anywhere. #12895 #12902
  • Fix scrub resume from newly created hole.
  • Avoid memory copy when verifying raidz/draid parity #13613
  • Avoid memory copies during mirror scrub #13606
  • Fix and disable blocks statistics during scrub #13579
  • Avoid two 64-bit divisions per scanned block #13591
  • Several B-tree optimizations #13582
  • Several sorted scrub optimizations #13576
  • FreeBSD: Improve crypto_dispatch() handling #13563
  • Reduce ZIO io_lock contention on sorted scrub #13553
  • AVL: Remove obsolete branching optimizations #13540
  • More speculative prefetcher improvements #13452
  • Improve mg_aliquot math #13388
  • Improve log spacemap load time #12789
  • Add more control/visibility to spa_load_verify(). #13022
  • spa.c: Replace VERIFY(nvlist_(...) == 0) with fnvlist_ (#12678)
  • Avoid small buffer copying on write #12425
  • Remove refcount from spa_config_*() #12287
  • Scrub mirror children without BPs #13555