zfs icon indicating copy to clipboard operation
zfs copied to clipboard

2.3.3 staging prep

Open behlendorf opened this issue 6 months ago • 7 comments

Motivation and Context

Pull in additional recent fixes to the 2.3.3 staging branch.

Description

Changes include:

335c2a7816 CI: Automate some GitHub PR status labels manipulations 2c9e9ec4f9 FreeBSD: zfs_putpages: don't undirty pages until after write completes 538ece18a7 zfs_log_write: only put the callback on the last itx ec52594d87 zpl_sync_fs: work around kernels that ignore sync_fs errors 7a096b9456 zfs_sync: return error when pool suspends e18cf871a2 zfs_sync: remove support for impossible scenarios b483824428 zts: test syncfs() behaviour when pool suspends 7b5fa89082 Improve block cloning transactions accounting a4aff0c86f Reduce zfs_dmu_offset_next_sync penalty 5ad7e69b0b Make TX abort after assign safer 7119b8f5c3 Allow zero compression if dedup is enabled 00df540249 ZTS: Enable io_uring on CentOS Stream 9 and 10 also 36979ee500 Linux build: silence objtool warnings b7467d8da4 CI: Retire Fedora 40 builder cd16b563f8 ZTS: Enable io_uring support on el9/el10 ec4d4f8dc7 ZTS: Add AlmaLinux 10 4535f5ef3b abd_os: move headers from libzpool to libspl 59a46ccb74 Set spa_final_txg in spa_unload() 01cc3c9f89 zpool: clarify ZPOOL_STATUS_REMOVED_DEV status message 74e0603e89 vdev: skip faulting disks pending removal df9542194f CI: Retire Ubuntu 20.04 builder 370f68af26 linux/zvol_os: don't try to set disk ops if alloc fails 1652a62604 Linux build: always use objtool 85dc700738 tunables: fix spelling 19650a5590 tunables: remove __check_old_set_param workaround bfad1def05 tunables: remove unused param get/set aliases f2b6e597ec tunables: use Linux ullong param ops for u64 ed7ef7f002 tunables: remove support for s64 tunables 82e66ddb48 tunables: remove direct use of module_param_cb 08535333b7 tunables: remove FreeBSD compat macros for Linux module params 4536f1394e tunables: ensure tunable and variable have same define gate d1c3c44ba8 tunables: don't assert initialisation in impl getters f1ad6ee741 zfs_log: make zfs_immediate_write_sz uint ed185d6895 Linux 6.15 compat: META 9e22846808 Only interrupt active disk I/Os in failmode=continue 5bbf200957 zcp: get_prop: fix encryptionroot and encryption 49eab8c362 ZVOL: Comment platform-specific empty functions bodies on FreeBSD side ef24928a46 Expose dataset encryption status via fast stat path 4016c6a09a ZIL: Improve write log size accounting c419ab97eb ZTS: testing for leaked key mappings in encrypted non-raw send 71592e725e Refactor man page and CLI help output per mandoc dd3e295efa Reformat cli help and man page to be in sync e184a0ef5a Fix off-by-one bug in range tree code

How Has This Been Tested?

Locally compiled.

Types of changes

  • [x] Bug fix (non-breaking change which fixes an issue)
  • [ ] New feature (non-breaking change which adds functionality)
  • [x] Performance enhancement (non-breaking change which improves efficiency)
  • [x] Code cleanup (non-breaking change which makes code smaller or more readable)
  • [x] Quality assurance (non-breaking change which makes the code more robust against bugs)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)
  • [ ] Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • [x] Documentation (a change to man pages or other documentation)

Checklist:

  • [x] My code follows the OpenZFS code style requirements.
  • [x] I have updated the documentation accordingly.
  • [x] I have read the contributing document.
  • [x] I have added tests to cover my changes.
  • [x] I have run the ZFS Test Suite with this change applied.
  • [x] All commit messages are properly formatted and contain Signed-off-by.

behlendorf avatar Jun 13 '25 01:06 behlendorf

I'm not seeing ea74cdedda8b9575d7e94198d38f12943ac41343, but was hoping to see it with 2.3.3 after https://github.com/openzfs/zfs/pull/17340 got merged.

It had been part of the last staging preparations in https://github.com/openzfs/zfs/pull/17371

almereyda avatar Jun 13 '25 16:06 almereyda

I'm not seeing ea74cde, but was hoping to see it with 2.3.3 after #17340 got merged.

It had been part of the last staging preparations in #17371

Both of the PRs fill openzfs:zfs-2.3.3-staging branch. I see the "Fix 2 bugs" commit already there.

amotin avatar Jun 13 '25 16:06 amotin

How about https://github.com/openzfs/zfs/commit/b7f919d22845aee34710e1cafa0ca601f26df4a8 also?

Good idea. Added, along with the https://github.com/openzfs/zfs/commit/284580c8780e056f4f33b89f49eeeedeef9af26b dependency.

I also went ahead and pulled in the parallel ARC eviction optimizations.

b6916f995e ARC: parallel eviction 44446dccdb During pool export flush the ARC asynchronously

We should also backport these gang block changes @robn mentioned in the first staging PR. It looks like that'll take a bit of work, so I haven't yet included them in this PR.

5f5321effa Handle interaction between gang blocks, copies, and FDT. 9250403ba6 Make ganging redundancy respect redundant_metadata property (#17073)

behlendorf avatar Jun 13 '25 19:06 behlendorf

@behlendorf I suspect "Remove mg_allocators" depends on "Unified allocation throttling". We have them both in our TrueNAS patch set, but see yourself if that is too much for 2.3.

amotin avatar Jun 14 '25 01:06 amotin

I won't have time to even look at #17123 until midweek. @pcd1193182 any chance you could take a look? iirc the idea is the same, just the setup is a bit different without the "variable size gang header" change.

robn avatar Jun 14 '25 02:06 robn

@amotin thanks, I dropped "Remove mg_allocators" from the patch stack. I'd love to add "ZIL: Relax parallel write ZIOs processing" but that feels a bit too fresh. I'll pick it up next time.

@robn I was able to pick up the TrueNAS backports of https://github.com/openzfs/zfs/pull/17123, but it would be great if either you or @pcd1193182 could review those changes.

behlendorf avatar Jun 16 '25 15:06 behlendorf

Dropped the following commits, they need a bit more work.

e84bf9dddd Make ganging redundancy respect redundant_metadata property (#17073) 997b33850a zts: add spdx license tags to gang_blocks tests (#17160) 7812a2f2b9 Handle interaction between gang blocks, copies, and FDT.

behlendorf avatar Jun 16 '25 21:06 behlendorf