Zygo's ruling (2026-09-17): "Do misc-next in one pass." Not a trickle of catch-up commits -- one deliberate replay that brings the submission lane level with 6.18, once the parked-rbio fix is green.
Measured 2026-09-17 by comparing commit subjects over each topic:
| lane | topics/stripe-alloc |
commits |
|---|---|---|
| 6.18 (production) | b72dc2da + the pending parkref fix |
73 |
| misc-next (submission) | ff170b6a |
39 |
The 39 on misc-next are a strict subject-subset of the 73 on 6.18 -- the comparison finds nothing on misc-next that 6.18 does not also have. So the port is an append, not a merge: no divergent work to reconcile, no commit to drop.
34 subjects are on 6.18 and not on misc-next. Two of them must NOT be ported; the other 32 do.
btrfs: stripe_alloc: refuse space_cache=v1btrfs: stripe_alloc: let the property accept a cache-less filesystem like the mount option does (b72dc2da)Both exist because 6.18's mount path accepts a cache-less filesystem while
misc-next's demands the free space tree outright (super.c, the
btrfs_check_mountopts() gate). misc-next is therefore already symmetric
between the mount option and the btrfs.stripe_alloc property, which is the
property the pair restores on 6.18. Porting them would be a no-op at best.
The covers README already records that the lane carries one 6.18-only patch
(734c4596).
The ENOSPC/relocation/reclaim chain v2 (landed on 6.18 2026-09-16), the 7 review-round-1 fixes, and the stripe_meta reserve work:
btrfs: stripe_alloc: hold a reference on parked rbios (1459c2b83afb on
6.18) fixes the park machinery, and misc-next already carries the commit that
introduces it -- btrfs: raid56: batch stripe_alloc partial writes into full-stripe writes. On a submission lane the bug must never exist between two
patches of the same series, so fold it into that commit rather than append
it. (On 6.18 it stays a separate commit: that lane is a production branch with
a history worth reading.)
The same rule already applied on 6.18 for the mixed-block-group refusal, which
was folded into the patch that introduces
btrfs_stripe_alloc_check_support().
Checked 2026-09-17: all six of the fix's exact-string anchors match exactly
once in misc-next's fs/btrfs/raid56.c. The bug is present on that lane and
the edit applies unchanged, so the fold is mechanical -- blobedit.py with the
same edits file (parkref-edits.json) against the park commit.
6.18/topics/raid6-fixes carries a second commit as of 2026-09-17,
zygo: DO-NOT-UPSTREAM: lib/raid6: raid6_pq.algo= pins gen_syndrome, kept on
the topic so the pin the test rigs boot with survives a rebase and dropped
before submission (Zygo's call). misc-next has not been given it, on the
grounds that it is the submission lane and is build-check only there, so no rig
boots it with a pin. Decide at the one-pass whether it belongs on
misc-next/topics/raid6-fixes as well; if a misc-next kernel is ever used for
raid6 coverage it does, and the driver's preflight will say so out loud either
way.
misc-next/testing and replay the zb64 tail
(scripts/lane/lanetopic.sh, or candtopic.sh first if it should be built
before the refs move).zygo-misc-next-zb64: the series count changes
from 39, and the README row that says "one 6.18-only patch" stays true
(both 6.18-only patches are in the same family, but the README counts
patches -- recount it).e1e3534f) stays a separate cover letter, per
Zygo's ruling that its directed test not be bundled with stripe-alloc.The subject comparison is an oracle for what moves, not for whether it
applies. misc-next sits on a newer base (kdave 7c6b5acf, 2026-09-16) and
6.18 is hand-adapted to v6.18.x, so 12 of 34 files already hash differently
between the lanes (see [stripe-alloc lane drift]). Expect real conflict
resolution in the replay, and check the content oracle per topic before
trusting the result.