- Notifications
You must be signed in to change notification settings - Fork1.9k
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
base:zfs-2.3-release
Are you sure you want to change the base?
zfs-2.3.5 patch set#17857
Conversation
devsk commentedOct 20, 2025
👍 I guess these two are the ones I need for 6.17? |
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
b0c40c0 tof6c0306CompareThree 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
f6c0306 to95e50d6CompareThis 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
95e50d6 to3030777CompareReviewed-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
3030777 to10c460bComparedevsk commentedOct 24, 2025
@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. |
pharshalp commentedNov 2, 2025 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
Could you please include#17632? |
roedie commentedNov 5, 2025
+1 |
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>
10c460b to974f0baCompare@pharshalp I included it in my latest push. |
Uh oh!
There was an error while loading.Please reload this page.
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
Checklist:
Signed-off-by.