The ZFS updates thread - Latest: 2.1.11

This is a thread for posting and discussing ZFS updates and the new added features for those interested, rather than just making a new thread for each one.

Updates:

  • 2.1.9: Bugfix
  • 2.1.8: Linux kernel 6.1 compatibility
1 Like

Compatibility and bug fixes for this one.

https://github.com/openzfs/zfs/releases/tag/zfs-2.1.8

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
1 Like

Well that was fast, last release had an issue involved with encryption causing errors to be reported back when there weren’t any. This release reverts that particular patch.

https://github.com/openzfs/zfs/releases/tag/zfs-2.1.9

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
1 Like

Waiting for Ubuntu Lunar, I will get zfs 2.1.9 from there.

Internet says that there is no ZFS option anymore in the recent Lunar Lobster Beta ISO Installer. Seems like Canonical is phasing out ZFS support :frowning:

So much for the ZFS-on-root easy mode. Ditching flatpak & ZFS at the same time would let me reconsider Ubuntu on the two machines I’m running Ubuntu on.

And still no 6.2 kernel support for ZFS. Really fucks up basically all leading edge distros. My Tumbleweed is on 6.2.x for what feels like ages now.

Can’t wait for 2.1.10 or even 2.2.

New features sound nice and all, like progress on RAIDZ for special vdev or shared L2ARC. But RAIDZ for storing metadata and small stuff just screams “write amplification”. Same problem RAIDZ has with low record/blocksize stuff.
Most interesting stuff for me is an ARC change to seperate data and metadata MFU and MRU which really optimizes eviction policy of metadata and comes with a tunable parameter. This will help many pools to keep their metadata in memory, especially useful for pools with little memory or above average amounts of metadata.

1 Like

Note that while ZFS v2.1.10 has been released, you should hold off on updating as there appears to be a data corruption bug that may be caused by an intermittent race condition, and thus wasn’t caught: Data corruption with 519851122b1703b8 ("ZFS_IOC_COUNT_FILLED does unnecessary txg_wait_synced()") · Issue #14753 · openzfs/zfs · GitHub

So you’ll need to revert the specific commit or wait for v2.1.11 for official kernel 6.2 compatibility.

The bug fix release is now out: Release zfs-2.1.11 · openzfs/zfs · GitHub

1 Like