[17:40:31] step 1: 2G image, mkfs -n 4096, loop + dm-delay (read=15ms write=5ms) [17:40:33] step 1: populate S1 with 100000 files, snapshot -r to S2 (S2 now shares every S1 block) [17:40:56] S1 id=256 root level=3 (want >=2; this is the shape from IDEA.md step 1) [17:40:56] step 2: delete S1 (S2 keeps every one of S1's root children referenced) [17:40:56] step 3: sync-poll for a non-zero drop key at root level 3, then unmount [17:41:03] poll 2: drop key (44786 ...) level 3 -- child dropped, unmounting [17:41:03] step 4: resume/interrupt cycles, looking for drop key to go non-zero -> (0 0) [17:41:04] attempt 1: drop key (0 ...) level 0 [17:41:04] BUG REPRODUCED: drop key went from (44786 ...) to (0 0) while S1's root item still exists [17:41:04] step 5: uninterrupted mount, wait up to 300s for completion or abort [17:41:47] abort signature in dmesg after 27s [17:41:49] RESULT: kernel abort matches the incident signature (full log: ./work-repro-simple-unpatched-2/dmesg-step5.log) [17:42:20] btrfs check --readonly rc=1 (full log: ./work-repro-simple-unpatched-2/check.log) [17:42:20] RESULT: check reports mismatches matching the incident [17:42:20] S2 content: DIFFERS or unreadable (100101 entries; ./work-repro-simple-unpatched-2/s2.manifest) [17:42:20] summary: zeroed=1 aborted=1 check_bad=1 drop_done=0 s2_ok=0 [17:42:20] VERDICT: bug reproduced