Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

zfs-2.3.5 patch set#17857

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
tonyhutter wants to merge24 commits intoopenzfs:zfs-2.3-release
base:zfs-2.3-release
Choose a base branch
Loading
fromtonyhutter:zfs-2.3.5-hutter

Conversation

@tonyhutter
Copy link
Contributor

@tonyhuttertonyhutter commentedOct 20, 2025
edited by behlendorf
Loading

Motivation and Context

Proposed patch set for zfs-2.3.5.

Description

Add 6.17 kernel support, and a few fixes. Also update CI code to latest version.

How Has This Been Tested?

CI will test

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • 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)
  • Documentation (a change to man pages or other documentation)

Checklist:

reactormonk, devsk, and kerberizer reacted with heart emoji
@tonyhuttertonyhutter mentioned this pull requestOct 20, 2025
@devsk
Copy link

👍

I guess these two are the ones I need for 6.17?

Linux 6.17: d_set_d_op() is no longer available
bfcbf9c

Linux 6.17 compat: META
69ff925

tonyhutterand others added13 commitsOctober 21, 2025 10:35
We've seen Fedora 42 still setting up after 10 min.  Change the timeoutto 15 min.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: George Melikov <mail@gmelikov.ru>Signed-off-by: Tony Hutter <hutter2@llnl.gov>Closesopenzfs#17697
Because GitHub creates a merge commit on top of real head, so the checkon HEAD will fail regardlessly.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Tony Hutter <hutter2@llnl.gov>Signed-off-by: Shengqi Chen <harry-chen@outlook.com>Closesopenzfs#17695
Otherwise it might become `if [ == "" ]` which is ill-formed.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Tony Hutter <hutter2@llnl.gov>Signed-off-by: Shengqi Chen <harry-chen@outlook.com>Closesopenzfs#17695
- Increase qemu-1-setup.sh timeout to 20min since it sometimes  fails to complete after 15min.- Timestamp all qemu-1-setup.sh lines to look for hangs.- Add a 'watchdog' process to print out the top running process every  30sec to help with debugging.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Signed-off-by: Tony Hutter <hutter2@llnl.gov>Closesopenzfs#17714
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Tony Hutter <hutter2@llnl.gov>Signed-off-by: Alexander Motin <alexander.motin@TrueNAS.com>Closesopenzfs#17749
When updating a Fedora instance to an experimental kernel make sureto include the matching versioned perf and bpftool packages.  Thishelps ensure there are no unexpected conflicts which would preventthe new packages from being installed.Reviewed-by: Tony Hutter <hutter2@llnl.gov>Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>Closesopenzfs#17791
The Buildbot CI infrastructure has been fully replaced by GitHubActions.  Remove any lingering references from the repository.Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>Closesopenzfs#17794
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>Closesopenzfs#17795
Add a -O option to zfs-test.sh to dump debug information on testtimeout.  The debug info includes:- 30 lines from 'top'- /proc/<PID>/stack output of process with highest CPU usage- Last lines strace-ing process with highest CPU usage- /proc/sysrq-trigger kernel stack tracesAll debug information gets dumped to /dev/kmsg (Linux only).In addition, print out the VM console lines from the "Setup TestingMachines" step.  We have often see VMs timeout at this step and don'tknow why.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Signed-off-by: Tony Hutter <hutter2@llnl.gov>Closesopenzfs#17753
Signed-off-by: Shreshth Srivastava <shreshthsrivastava2@gmail.com>Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: George Melikov <mail@gmelikov.ru>Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>Reviewed-by: Tony Hutter <hutter2@llnl.gov>Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de>Closesopenzfs#17815
FreeBSD 15.0-ALPHA5 image fails to boot on cloud VMs due to missing/boot/efi mount point, causing the system to drop to single user modewhere SSH cannot start. Work around this by staying on ALPHA4 andsetting IGNORE_OSVERSION=yes to bypass pkg's kernel version mismatchprompt during bootstrap. This allows CI to proceed with ALPHA4 until wehave a stable FreeBSD 15.0 image.Signed-off-by: Ameer Hamza <ahamza@ixsystems.com>Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>Closesopenzfs#17846
We only have extremely narrow uses, so move it all into a singlefunction that does only what we need, with and without d_set_d_op().Sponsored-by:https://despairlabs.com/sponsor/Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Tony Hutter <hutter2@llnl.gov>Signed-off-by: Rob Norris <robn@despairlabs.com>Closesopenzfs#17621
behlendorfand others added6 commitsOctober 21, 2025 11:02
Three cases were discovered where 'zpool add' would fail towarn when adding vdevs to a pool with a mismatched replicationlevel.  These are:  1. When a pool contains mixed file and disk vdevs.  2. When a pool contains an active dRAID distributed spare  3. When a pool contains an active hot spareThe lack of warnings are caused by get_replication() assessingthe current pool configuration an inconsistent and disablingthe mismatched replication check for the new pool configurationafter 'zpool add'.  This change updates get_replication() tobe slightly more tolerant in the non-fatal case.The zpool_add_010_pos.ksh test case was split in to separatetests: zpool_add_warn_create.ksh, pool_add_warn_degraded.ksh,and zpool_add_warn_removal.  These test were extended toinclude coverage for dRAID pools and the three scenariosdescribed above.Reviewed-by: Tony Hutter <hutter2@llnl.gov>Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>Closesopenzfs#17780
I got a newer shellcheck, and it pointed out that read without a targetvariable is not POSIXly. The var was removed inc3ef9f7, so I put itback, and now shellcheck complains about an unused var. That's actuallycorrect, but necessary, so I've added a suppression for that, probablybetter.Sponsored-by:https://despairlabs.com/sponsor/Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: George Melikov <mail@gmelikov.ru>Signed-off-by: Rob Norris <robn@despairlabs.com>Closesopenzfs#17626
Provide an interface to retrieve the lowest and highest minimumallocation size for the normal allocation class.  This can be usedby external consumers of the DMU to estimate potential wastedcapacity when setting the recordsize for an object.The new "min_alloc" and "max_alloc" keys are added to the poolconfiguration and used by default_volblocksize() to warn whenan ineffecient block size is requested.  For older kmods whichdon't yet include the new keys fallback to the previous logic.Reviewed-by: Tony Hutter <hutter2@llnl.gov>Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>Closesopenzfs#17758
Update the META file to reflect compatibility with the 6.17kernel.Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>Reviewed-by: Rob Norris <robn@despairlabs.com>Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>Closesopenzfs#17789
The zvol blk-mq codepaths would erroneously send FLUSH and TRIMcommands down the read codepath, rather than write.  This fixesthe issue, and updates the zvol_misc_fua test to verify thatsync writes are actually happening.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>Reviewed-by: Ameer Hamza <ahamza@ixsystems.com>Signed-off-by: Tony Hutter <hutter2@llnl.gov>Closesopenzfs#17761Closesopenzfs#17765
ZVOLs don't support all block layer IO request types.  Add a check forthe IO types we do support.  Also, remove references toio_is_secure_erase() since they are not supported on ZVOLs.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Alexander Motin <alexander.motin@TrueNAS.com>Signed-off-by: Tony Hutter <hutter2@llnl.gov>Closesopenzfs#17803
This changes the basic search algorithm from a single search up and downthe tree to a full depth-first traversal to handle conditions where thetree matches at a higher level but not a lower level.Normally higher level blocks always point to matching blocks, but thereare cases where this does not happen:1. Racing block pointer updates from dbuf_write_ready.   Beforef664f1e (openzfs#8946), both dbuf_write_ready and   dnode_next_offset held dn_struct_rwlock which protected against   pointer writes from concurrent syncs.   This no longer applies, so sync context can f.e. clear or fill all   L1->L0 BPs before the L2->L1 BP and higher BP's are updated.   dnode_free_range in particular can reach this case and skip over L1   blocks that need to be dirtied. Later, sync will panic in   free_children when trying to clear a non-dirty indirect block.   This case was found with ztest.2. txg > 0, non-hole case. This isopenzfs#11196.   Freeing blocks/dnodes breaks the assumption that a match at a higher   level implies a match at a lower level when filtering txg > 0.   Whenever some but not all L0 blocks are freed, the parent L1 block is   rewritten. Its updated L2->L1 BP reflects a newer birth txg.   Later when searching by txg, if the L1 block matches since the txg is   newer, it is possible that none of the remaining L1->L0 BPs match if   none have been updated.   The same behavior is possible with dnode search at L0.   This is reachable from dsl_destroy_head for synchronous freeing.   When this happens open context fails to free objects leaving sync   context stuck freeing potentially many objects.   This is also reachable from traverse_pool for extreme rewind where it   is theoretically possible that datasets not dirtied after txg are   skipped if the MOS has high enough indirection to trigger this case.In both of these cases, without backtracking the search ends prematurelyas ESRCH result implies no more matches in the entire object.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Akash B <akash-b@hpe.com>Signed-off-by: Robert Evans <evansr@google.com>Closesopenzfs#16025Closesopenzfs#11196
@amotin
Copy link
Member

I propose to include also:3f4312a andea37c30.

behlendorf reacted with thumbs up emoji

@amotinamotin added the Status: Code Review NeededReady for review and testing labelOct 22, 2025
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Signed-off-by: Alexander Motin <alexander.motin@TrueNAS.com>Closesopenzfs#17692Closesopenzfs#17729
Spacemap entry might be too big to fit into a block pointer ashift.We hit an assertion trying to run `zdb -bvy` on a large pool.  Butit seems the code does not really need size there, since we onlyneed to search for a range of offsets, so setting it to zero shouldjust make btree return position just before the first entry.  Isuspect the previous code could actually miss the first entrydue to this if its size was smaller.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Reviewed-by: Igor Kozhukhov <igor@dilos.org>Signed-off-by: Alexander Motin <alexander.motin@TrueNAS.com>Closesopenzfs#17764
@devsk
Copy link

@tonyhutter : May I request you to please list the commit IDs that are strictly required for 6.17 support only? I have to manually patch until 2.3.5 comes out. Upstream has stopped updating 6.16.xx and forced my hand.

@tonyhutter
Copy link
ContributorAuthor

@devsk if youjust want to get it to build:
Linux 6.17 compat: META
Linux 6.17: d_set_d_op() is no longer available

That said, projectquota is currently broken on ZFS w/6.17 kernel:#17869.
That issue is a blocker for getting this release out.

devsk and fharbe reacted with thumbs up emoji

@pharshalp
Copy link

pharshalp commentedNov 2, 2025
edited
Loading

Could you please include#17632?
(reference:#17184 (comment))

@roedie
Copy link

Could you please include#17632? (reference:#17184 (comment))

+1

youzhongyangand others added2 commitsNovember 5, 2025 08:53
The concurrent execution of feature_sync() can lead to a panic due to an unprotected update of the feature refcount.  Resolve this byusing the spa->spa_feat_stats_lock to synchronize the update of the refcount.Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>Signed-off-by: Youzhong Yang <yyang@mathworks.com>Closesopenzfs#17184Closesopenzfs#17632
META file and changelog updated.Signed-off-by: Tony Hutter <hutter2@llnl.gov>
@tonyhutter
Copy link
ContributorAuthor

@pharshalp I included it in my latest push.

pharshalp reacted with thumbs up emoji

Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@behlendorfbehlendorfbehlendorf approved these changes

@amotinamotinamotin approved these changes

Assignees

No one assigned

Labels

Status: Code Review NeededReady for review and testing

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

13 participants

@tonyhutter@devsk@amotin@pharshalp@roedie@behlendorf@Harry-Chen@Shreshth3@mcmilk@ixhamza@robn@rrevans@youzhongyang

[8]ページ先頭

©2009-2025 Movatter.jp