* Stuck subvolume removal: @ 2025-11-13 22:40 Paul Graff 2025-11-13 22:54 ` Qu Wenruo 0 siblings, 1 reply; 7+ messages in thread From: Paul Graff @ 2025-11-13 22:40 UTC (permalink / raw) To: linux-btrfs Hi, currently there is a dropped subvolume error when running a full balance on a single SSD. |:~> sudo btrfs balance start / WARNING: Full balance without filters requested. This operation is very intense and takes potentially very long. It is recommended to use the balance filters to narrow down the scope of balance. Use 'btrfs balance start --full-balance' option to skip this warning. The operation will start in 10 seconds. Use Ctrl-C to stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any filters. ERROR: error during balancing '/': Structure needs cleaning There may be more info in syslog - try dmesg | tail hightower-i5-6600k:~> dmesg | tail [38576.407681] [ T29728] BTRFS info (device dm-2): found 37170 extents, stage: update data pointers [38584.873805] [ T29728] BTRFS info (device dm-2): relocating block group 64891125760 flags data [38607.693519] [ T29728] BTRFS info (device dm-2): found 33194 extents, stage: move data extents [38641.574032] [ T29728] BTRFS info (device dm-2): found 33194 extents, stage: update data pointers [38649.812477] [ T29728] BTRFS info (device dm-2): relocating block group 62710087680 flags data [38662.710999] [ T29728] BTRFS info (device dm-2): found 43884 extents, stage: move data extents [38696.292982] [ T29728] BTRFS info (device dm-2): found 43884 extents, stage: update data pointers [38708.587669] [ T29728] BTRFS info (device dm-2): relocating block group 60294168576 flags metadata|dup [38714.889735] [ T29728] BTRFS error (device dm-2): cannot relocate partially dropped subvolume 490, drop progress key (853588 108 0) [38723.736887] [ T29728] BTRFS info (device dm-2): balance: ended with status: -117 hightower-i5-6600k:~>| After passing, |:~> sudo btrfs subvolume sync / [sudo] password for root: hightower-i5-6600k:~> | the command returned to prompt very, very quickly. A second balance attempt results with the following output: |:~> sudo btrfs balance start / WARNING: Full balance without filters requested. This operation is very intense and takes potentially very long. It is recommended to use the balance filters to narrow down the scope of balance. Use 'btrfs balance start --full-balance' option to skip this warning. The operation will start in 10 seconds. Use Ctrl-C to stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any filters. ERROR: error during balancing '/': Structure needs cleaning There may be more info in syslog - try dmesg | tail hightower-i5-6600k:~> | |:~> dmesg | tail [93689.781162] [ T69656] BTRFS info (device dm-2): found 16 extents, stage: update data pointers [93690.667290] [ T69656] BTRFS info (device dm-2): relocating block group 1495819878400 flags data [93703.323923] [ T69656] BTRFS info (device dm-2): found 33 extents, stage: move data extents [93705.575991] [ T69656] BTRFS info (device dm-2): found 33 extents, stage: update data pointers [93706.769453] [ T69656] BTRFS info (device dm-2): relocating block group 1494746136576 flags data [93725.570642] [ T69656] BTRFS info (device dm-2): found 39 extents, stage: move data extents [93727.449779] [ T69656] BTRFS info (device dm-2): found 39 extents, stage: update data pointers [93728.465650] [ T69656] BTRFS info (device dm-2): relocating block group 60294168576 flags metadata|dup [93736.722689] [ T69656] BTRFS error (device dm-2): cannot relocate partially dropped subvolume 490, drop progress key (853588 108 0) [93750.594559] [ T69656] BTRFS info (device dm-2): balance: ended with status: -117 hightower-i5-6600k:~> | Please see the following referenced, prior posting for stuck subvolume removal similarity. https://lore.kernel.org/linux-btrfs/9f936d59-d782-1f48-bbb7-dd1c8dae2615@gmail.com/ Is there a patch for btrfsprogs? If so can the patch be merged?| | What are your thoughts on this? ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Stuck subvolume removal: 2025-11-13 22:40 Stuck subvolume removal: Paul Graff @ 2025-11-13 22:54 ` Qu Wenruo 2025-11-14 19:38 ` Paul Graff 0 siblings, 1 reply; 7+ messages in thread From: Qu Wenruo @ 2025-11-13 22:54 UTC (permalink / raw) To: Paul Graff, linux-btrfs 在 2025/11/14 09:10, Paul Graff 写道: > Hi, currently there is a dropped subvolume error when running a full > balance on a single SSD. > > |:~> sudo btrfs balance start / WARNING: Full balance without filters > requested. This operation is very intense and takes potentially very > long. It is recommended to use the balance filters to narrow down the > scope of balance. Use 'btrfs balance start --full-balance' option to > skip this warning. The operation will start in 10 seconds. Use Ctrl-C to > stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any filters. > ERROR: error during balancing '/': Structure needs cleaning There may be > more info in syslog - try dmesg | tail hightower-i5-6600k:~> dmesg | > tail [38576.407681] [ T29728] BTRFS info (device dm-2): found 37170 > extents, stage: update data pointers [38584.873805] [ T29728] BTRFS info > (device dm-2): relocating block group 64891125760 flags data > [38607.693519] [ T29728] BTRFS info (device dm-2): found 33194 extents, > stage: move data extents [38641.574032] [ T29728] BTRFS info (device > dm-2): found 33194 extents, stage: update data pointers [38649.812477] > [ T29728] BTRFS info (device dm-2): relocating block group 62710087680 > flags data [38662.710999] [ T29728] BTRFS info (device dm-2): found > 43884 extents, stage: move data extents [38696.292982] [ T29728] BTRFS > info (device dm-2): found 43884 extents, stage: update data pointers > [38708.587669] [ T29728] BTRFS info (device dm-2): relocating block > group 60294168576 flags metadata|dup [38714.889735] [ T29728] BTRFS > error (device dm-2): cannot relocate partially dropped subvolume 490, > drop progress key (853588 108 0) [38723.736887] [ T29728] BTRFS info > (device dm-2): balance: ended with status: -117 hightower-i5-6600k:~>| The format is a mess. Please provide a proper formatted dmesg instead. Along with the kernel version. The relocation is rejected because there is a half-dropped subvolume, which is not that common. It maybe a problem with the fs that there are some ghost subvolumes that are never dropped. There used to be kernel bug that can lead to such ghost subvolumes, IIRC the latest btrfs check can detect it. So please also provide the output of "btrfs check --readonly" of the unmounted fs. Thanks, Qu > > After passing, > > |:~> sudo btrfs subvolume sync / [sudo] password for root: hightower- > i5-6600k:~> | > > the command returned to prompt very, very quickly. > > A second balance attempt results with the following output: > > |:~> sudo btrfs balance start / WARNING: Full balance without filters > requested. This operation is very intense and takes potentially very > long. It is recommended to use the balance filters to narrow down the > scope of balance. Use 'btrfs balance start --full-balance' option to > skip this warning. The operation will start in 10 seconds. Use Ctrl-C to > stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any filters. > ERROR: error during balancing '/': Structure needs cleaning There may be > more info in syslog - try dmesg | tail hightower-i5-6600k:~> | > > |:~> dmesg | tail [93689.781162] [ T69656] BTRFS info (device dm-2): > found 16 extents, stage: update data pointers [93690.667290] [ T69656] > BTRFS info (device dm-2): relocating block group 1495819878400 flags > data [93703.323923] [ T69656] BTRFS info (device dm-2): found 33 > extents, stage: move data extents [93705.575991] [ T69656] BTRFS info > (device dm-2): found 33 extents, stage: update data pointers > [93706.769453] [ T69656] BTRFS info (device dm-2): relocating block > group 1494746136576 flags data [93725.570642] [ T69656] BTRFS info > (device dm-2): found 39 extents, stage: move data extents [93727.449779] > [ T69656] BTRFS info (device dm-2): found 39 extents, stage: update data > pointers [93728.465650] [ T69656] BTRFS info (device dm-2): relocating > block group 60294168576 flags metadata|dup [93736.722689] [ T69656] > BTRFS error (device dm-2): cannot relocate partially dropped subvolume > 490, drop progress key (853588 108 0) [93750.594559] [ T69656] BTRFS > info (device dm-2): balance: ended with status: -117 hightower- > i5-6600k:~> | > > Please see the following referenced, prior posting for stuck subvolume > removal similarity. https://lore.kernel.org/linux-btrfs/9f936d59- > d782-1f48-bbb7-dd1c8dae2615@gmail.com/ > > Is there a patch for btrfsprogs? If so can the patch be merged?| > | > > What are your thoughts on this? > > > > > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Stuck subvolume removal: 2025-11-13 22:54 ` Qu Wenruo @ 2025-11-14 19:38 ` Paul Graff 2025-11-14 19:55 ` Qu Wenruo 0 siblings, 1 reply; 7+ messages in thread From: Paul Graff @ 2025-11-14 19:38 UTC (permalink / raw) To: Qu Wenruo, linux-btrfs On 11/13/25 4:54 PM, Qu Wenruo wrote: > > > 在 2025/11/14 09:10, Paul Graff 写道: >> Hi, currently there is a dropped subvolume error when running a full >> balance on a single SSD. >> >> |:~> sudo btrfs balance start / WARNING: Full balance without filters >> requested. This operation is very intense and takes potentially very >> long. It is recommended to use the balance filters to narrow down the >> scope of balance. Use 'btrfs balance start --full-balance' option to >> skip this warning. The operation will start in 10 seconds. Use Ctrl-C >> to stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any >> filters. ERROR: error during balancing '/': Structure needs cleaning >> There may be more info in syslog - try dmesg | tail >> hightower-i5-6600k:~> dmesg | tail [38576.407681] [ T29728] BTRFS >> info (device dm-2): found 37170 extents, stage: update data pointers >> [38584.873805] [ T29728] BTRFS info (device dm-2): relocating block >> group 64891125760 flags data [38607.693519] [ T29728] BTRFS info >> (device dm-2): found 33194 extents, stage: move data extents >> [38641.574032] [ T29728] BTRFS info (device dm-2): found 33194 >> extents, stage: update data pointers [38649.812477] [ T29728] BTRFS >> info (device dm-2): relocating block group 62710087680 flags data >> [38662.710999] [ T29728] BTRFS info (device dm-2): found 43884 >> extents, stage: move data extents [38696.292982] [ T29728] BTRFS info >> (device dm-2): found 43884 extents, stage: update data pointers >> [38708.587669] [ T29728] BTRFS info (device dm-2): relocating block >> group 60294168576 flags metadata|dup [38714.889735] [ T29728] BTRFS >> error (device dm-2): cannot relocate partially dropped subvolume 490, >> drop progress key (853588 108 0) [38723.736887] [ T29728] BTRFS info >> (device dm-2): balance: ended with status: -117 hightower-i5-6600k:~>| > > The format is a mess. My apologies for the disastrous output format above. > Please provide a proper formatted dmesg instead. :~> sudo dmesg | tail [sudo] password for root: [44928.672213] [ T96240] BTRFS info (device dm-2): found 55680 extents, stage: update data pointers [44937.810972] [ T96240] BTRFS info (device dm-2): found 4 extents, stage: update data pointers [44938.590658] [ T96240] BTRFS info (device dm-2): relocating block group 60294168576 flags metadata|dup [44945.516661] [ T96240] BTRFS error (device dm-2): cannot relocate partially dropped subvolume 490, drop progress key (853588 108 0) [44955.995468] [ T96240] BTRFS info (device dm-2): balance: ended with status: -117 :~> > > Along with the kernel version. Most current openSUSE Rescue system CD used for btrfs check, uname -a > 6.17.7-1 > > The relocation is rejected because there is a half-dropped subvolume, > which is not that common. > It maybe a problem with the fs that there are some ghost subvolumes > that are never dropped. > > There used to be kernel bug that can lead to such ghost subvolumes, > IIRC the latest btrfs check can detect it. > > So please also provide the output of "btrfs check --readonly" of the > unmounted fs. :~ # btrfs check --readonly --progress /dev/mapper/system-root Opening filesystem to check... Checking filesystem on /dev/mapper/system-root UUID: 605560ad-fe93-4d09-8760-df0725b43ee1 [1/8] checking log skipped (none written) [1/7] checking root items (0:00:14 elapsed, 5328460 items checked) [2/7] checking extents (0:01:01 elapsed, 984830 items checked) [3/7] checking free space cache (0:00:12 elapsed, 471 items checked) [4/7] checking fs roots (0:04:32 elapsed, 910644 items checked) [5/7] checking csums (without verifying data) (0:00:12 elapsed, 895024 items checked) fs tree 490 missing orphan item (0:00:00 elapsed, 94 items checked) [6/7] checking root refs (0:00:01 elapsed, 94 items checked) ERROR: errors found in root refs found 496776130741 bytes used, error(s) found total csum bytes: 465839608 total tree bytes: 16133832704 total fs tree bytes: 14983905280 total extent tree bytes: 624771072 btree space waste bytes: 3613129770 file data blocks allocated: 1062495817728 referenced 976540409856 :~ # > > Thanks, > Qu > -Greatest Hopes Paul >> >> After passing, >> >> |:~> sudo btrfs subvolume sync / [sudo] password for root: hightower- >> i5-6600k:~> | >> >> the command returned to prompt very, very quickly. >> >> A second balance attempt results with the following output: >> >> |:~> sudo btrfs balance start / WARNING: Full balance without filters >> requested. This operation is very intense and takes potentially very >> long. It is recommended to use the balance filters to narrow down the >> scope of balance. Use 'btrfs balance start --full-balance' option to >> skip this warning. The operation will start in 10 seconds. Use Ctrl-C >> to stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any >> filters. ERROR: error during balancing '/': Structure needs cleaning >> There may be more info in syslog - try dmesg | tail >> hightower-i5-6600k:~> | >> >> |:~> dmesg | tail [93689.781162] [ T69656] BTRFS info (device dm-2): >> found 16 extents, stage: update data pointers [93690.667290] [ >> T69656] BTRFS info (device dm-2): relocating block group >> 1495819878400 flags data [93703.323923] [ T69656] BTRFS info (device >> dm-2): found 33 extents, stage: move data extents [93705.575991] [ >> T69656] BTRFS info (device dm-2): found 33 extents, stage: update >> data pointers [93706.769453] [ T69656] BTRFS info (device dm-2): >> relocating block group 1494746136576 flags data [93725.570642] [ >> T69656] BTRFS info (device dm-2): found 39 extents, stage: move data >> extents [93727.449779] [ T69656] BTRFS info (device dm-2): found 39 >> extents, stage: update data pointers [93728.465650] [ T69656] BTRFS >> info (device dm-2): relocating block group 60294168576 flags >> metadata|dup [93736.722689] [ T69656] BTRFS error (device dm-2): >> cannot relocate partially dropped subvolume 490, drop progress key >> (853588 108 0) [93750.594559] [ T69656] BTRFS info (device dm-2): >> balance: ended with status: -117 hightower- i5-6600k:~> | >> >> Please see the following referenced, prior posting for stuck >> subvolume removal similarity. >> https://lore.kernel.org/linux-btrfs/9f936d59- >> d782-1f48-bbb7-dd1c8dae2615@gmail.com/ >> >> Is there a patch for btrfsprogs? If so can the patch be merged?| >> | >> >> What are your thoughts on this? >> >> >> >> >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Stuck subvolume removal: 2025-11-14 19:38 ` Paul Graff @ 2025-11-14 19:55 ` Qu Wenruo 2026-01-28 8:42 ` Paul Graff 0 siblings, 1 reply; 7+ messages in thread From: Qu Wenruo @ 2025-11-14 19:55 UTC (permalink / raw) To: Paul Graff, linux-btrfs 在 2025/11/15 06:08, Paul Graff 写道: > > > On 11/13/25 4:54 PM, Qu Wenruo wrote: >> >> >> 在 2025/11/14 09:10, Paul Graff 写道: >>> Hi, currently there is a dropped subvolume error when running a full >>> balance on a single SSD. >>> >>> |:~> sudo btrfs balance start / WARNING: Full balance without filters >>> requested. This operation is very intense and takes potentially very >>> long. It is recommended to use the balance filters to narrow down the >>> scope of balance. Use 'btrfs balance start --full-balance' option to >>> skip this warning. The operation will start in 10 seconds. Use Ctrl-C >>> to stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any >>> filters. ERROR: error during balancing '/': Structure needs cleaning >>> There may be more info in syslog - try dmesg | tail hightower- >>> i5-6600k:~> dmesg | tail [38576.407681] [ T29728] BTRFS info (device >>> dm-2): found 37170 extents, stage: update data pointers >>> [38584.873805] [ T29728] BTRFS info (device dm-2): relocating block >>> group 64891125760 flags data [38607.693519] [ T29728] BTRFS info >>> (device dm-2): found 33194 extents, stage: move data extents >>> [38641.574032] [ T29728] BTRFS info (device dm-2): found 33194 >>> extents, stage: update data pointers [38649.812477] [ T29728] BTRFS >>> info (device dm-2): relocating block group 62710087680 flags data >>> [38662.710999] [ T29728] BTRFS info (device dm-2): found 43884 >>> extents, stage: move data extents [38696.292982] [ T29728] BTRFS info >>> (device dm-2): found 43884 extents, stage: update data pointers >>> [38708.587669] [ T29728] BTRFS info (device dm-2): relocating block >>> group 60294168576 flags metadata|dup [38714.889735] [ T29728] BTRFS >>> error (device dm-2): cannot relocate partially dropped subvolume 490, >>> drop progress key (853588 108 0) [38723.736887] [ T29728] BTRFS info >>> (device dm-2): balance: ended with status: -117 hightower-i5-6600k:~>| >> >> The format is a mess. > My apologies for the disastrous output format above. >> Please provide a proper formatted dmesg instead. > > :~> sudo dmesg | tail > > [sudo] password for root: > > [44928.672213] [ T96240] BTRFS info (device dm-2): found 55680 extents, > stage: update data pointers > > [44937.810972] [ T96240] BTRFS info (device dm-2): found 4 extents, > stage: update data pointers > > [44938.590658] [ T96240] BTRFS info (device dm-2): relocating block > group 60294168576 flags metadata|dup > > [44945.516661] [ T96240] BTRFS error (device dm-2): cannot relocate > partially dropped subvolume 490, drop progress key (853588 108 0) > > [44955.995468] [ T96240] BTRFS info (device dm-2): balance: ended with > status: -117 > > :~> > > >> >> Along with the kernel version. > Most current openSUSE Rescue system CD used for btrfs check, uname -a > > 6.17.7-1 >> >> The relocation is rejected because there is a half-dropped subvolume, >> which is not that common. >> It maybe a problem with the fs that there are some ghost subvolumes >> that are never dropped. >> >> There used to be kernel bug that can lead to such ghost subvolumes, >> IIRC the latest btrfs check can detect it. >> >> So please also provide the output of "btrfs check --readonly" of the >> unmounted fs. > > :~ # btrfs check --readonly --progress /dev/mapper/system-root > > Opening filesystem to check... > > Checking filesystem on /dev/mapper/system-root > > UUID: 605560ad-fe93-4d09-8760-df0725b43ee1 > > [1/8] checking log skipped (none written) > > [1/7] checking root items (0:00:14 elapsed, 5328460 items checked) > > [2/7] checking extents (0:01:01 elapsed, 984830 items checked) > > [3/7] checking free space cache (0:00:12 elapsed, 471 items checked) > > [4/7] checking fs roots (0:04:32 elapsed, 910644 items checked) > > [5/7] checking csums (without verifying data) (0:00:12 elapsed, 895024 > items checked) > > fs tree 490 missing orphan item (0:00:00 elapsed, 94 items checked) So indeed your fs has a half dropped ghost subvolume, most likely caused by some older kernels. Unfortunately btrfs-progs doesn't have the ability to repair it yet, I'll craft a branch of btrfs-progs with the repair ability soon. Meanwhile please prepare an environment to compile btrfs-progs. Thanks, Qu > > [6/7] checking root refs (0:00:01 elapsed, 94 items checked) > > ERROR: errors found in root refs > > found 496776130741 bytes used, error(s) found > > total csum bytes: 465839608 > > total tree bytes: 16133832704 > > total fs tree bytes: 14983905280 > > total extent tree bytes: 624771072 > > btree space waste bytes: 3613129770 > > file data blocks allocated: 1062495817728 > > referenced 976540409856 > > :~ # > > >> >> Thanks, >> Qu >> > -Greatest Hopes > Paul >>> >>> After passing, >>> >>> |:~> sudo btrfs subvolume sync / [sudo] password for root: hightower- >>> i5-6600k:~> | >>> >>> the command returned to prompt very, very quickly. >>> >>> A second balance attempt results with the following output: >>> >>> |:~> sudo btrfs balance start / WARNING: Full balance without filters >>> requested. This operation is very intense and takes potentially very >>> long. It is recommended to use the balance filters to narrow down the >>> scope of balance. Use 'btrfs balance start --full-balance' option to >>> skip this warning. The operation will start in 10 seconds. Use Ctrl-C >>> to stop it. 10 9 8 7 6 5 4 3 2 1 Starting balance without any >>> filters. ERROR: error during balancing '/': Structure needs cleaning >>> There may be more info in syslog - try dmesg | tail hightower- >>> i5-6600k:~> | >>> >>> |:~> dmesg | tail [93689.781162] [ T69656] BTRFS info (device dm-2): >>> found 16 extents, stage: update data pointers [93690.667290] >>> [ T69656] BTRFS info (device dm-2): relocating block group >>> 1495819878400 flags data [93703.323923] [ T69656] BTRFS info (device >>> dm-2): found 33 extents, stage: move data extents [93705.575991] >>> [ T69656] BTRFS info (device dm-2): found 33 extents, stage: update >>> data pointers [93706.769453] [ T69656] BTRFS info (device dm-2): >>> relocating block group 1494746136576 flags data [93725.570642] >>> [ T69656] BTRFS info (device dm-2): found 39 extents, stage: move >>> data extents [93727.449779] [ T69656] BTRFS info (device dm-2): found >>> 39 extents, stage: update data pointers [93728.465650] [ T69656] >>> BTRFS info (device dm-2): relocating block group 60294168576 flags >>> metadata|dup [93736.722689] [ T69656] BTRFS error (device dm-2): >>> cannot relocate partially dropped subvolume 490, drop progress key >>> (853588 108 0) [93750.594559] [ T69656] BTRFS info (device dm-2): >>> balance: ended with status: -117 hightower- i5-6600k:~> | >>> >>> Please see the following referenced, prior posting for stuck >>> subvolume removal similarity. https://lore.kernel.org/linux- >>> btrfs/9f936d59- d782-1f48-bbb7-dd1c8dae2615@gmail.com/ >>> >>> Is there a patch for btrfsprogs? If so can the patch be merged?| >>> | >>> >>> What are your thoughts on this? >>> >>> >>> >>> >>> >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Stuck subvolume removal: 2025-11-14 19:55 ` Qu Wenruo @ 2026-01-28 8:42 ` Paul Graff 2026-01-28 8:49 ` Qu Wenruo 0 siblings, 1 reply; 7+ messages in thread From: Paul Graff @ 2026-01-28 8:42 UTC (permalink / raw) To: Qu Wenruo, linux-btrfs On 11/14/25 1:55 PM, Qu Wenruo wrote: > > > 在 2025/11/15 06:08, Paul Graff 写道: >> >> >> On 11/13/25 4:54 PM, Qu Wenruo wrote: >>> >>> >>> 在 2025/11/14 09:10, Paul Graff 写道: >>>> Hi, currently there is a dropped subvolume error when running a >>>> full balance on a single SSD. >>>> >>>> |:~> sudo btrfs balance start / WARNING: Full balance without >>>> filters requested. This operation is very intense and takes >>>> potentially very long. It is recommended to use the balance filters >>>> to narrow down the scope of balance. Use 'btrfs balance start >>>> --full-balance' option to skip this warning. The operation will >>>> start in 10 seconds. Use Ctrl-C to stop it. 10 9 8 7 6 5 4 3 2 1 >>>> Starting balance without any filters. ERROR: error during balancing >>>> '/': Structure needs cleaning There may be more info in syslog - >>>> try dmesg | tail hightower- i5-6600k:~> dmesg | tail [38576.407681] >>>> [ T29728] BTRFS info (device dm-2): found 37170 extents, stage: >>>> update data pointers [38584.873805] [ T29728] BTRFS info (device >>>> dm-2): relocating block group 64891125760 flags data [38607.693519] >>>> [ T29728] BTRFS info (device dm-2): found 33194 extents, stage: >>>> move data extents [38641.574032] [ T29728] BTRFS info (device >>>> dm-2): found 33194 extents, stage: update data pointers >>>> [38649.812477] [ T29728] BTRFS info (device dm-2): relocating block >>>> group 62710087680 flags data [38662.710999] [ T29728] BTRFS info >>>> (device dm-2): found 43884 extents, stage: move data extents >>>> [38696.292982] [ T29728] BTRFS info (device dm-2): found 43884 >>>> extents, stage: update data pointers [38708.587669] [ T29728] BTRFS >>>> info (device dm-2): relocating block group 60294168576 flags >>>> metadata|dup [38714.889735] [ T29728] BTRFS error (device dm-2): >>>> cannot relocate partially dropped subvolume 490, drop progress key >>>> (853588 108 0) [38723.736887] [ T29728] BTRFS info (device dm-2): >>>> balance: ended with status: -117 hightower-i5-6600k:~>| >>> >>> The format is a mess. >> My apologies for the disastrous output format above. >>> Please provide a proper formatted dmesg instead. >> >> :~> sudo dmesg | tail >> >> [sudo] password for root: >> >> [44928.672213] [ T96240] BTRFS info (device dm-2): found 55680 >> extents, stage: update data pointers >> >> [44937.810972] [ T96240] BTRFS info (device dm-2): found 4 extents, >> stage: update data pointers >> >> [44938.590658] [ T96240] BTRFS info (device dm-2): relocating block >> group 60294168576 flags metadata|dup >> >> [44945.516661] [ T96240] BTRFS error (device dm-2): cannot relocate >> partially dropped subvolume 490, drop progress key (853588 108 0) >> >> [44955.995468] [ T96240] BTRFS info (device dm-2): balance: ended >> with status: -117 >> >> :~> >> >> >>> >>> Along with the kernel version. >> Most current openSUSE Rescue system CD used for btrfs check, uname -a >> > 6.17.7-1 >>> >>> The relocation is rejected because there is a half-dropped >>> subvolume, which is not that common. >>> It maybe a problem with the fs that there are some ghost subvolumes >>> that are never dropped. >>> >>> There used to be kernel bug that can lead to such ghost subvolumes, >>> IIRC the latest btrfs check can detect it. >>> >>> So please also provide the output of "btrfs check --readonly" of the >>> unmounted fs. >> >> :~ # btrfs check --readonly --progress /dev/mapper/system-root >> >> Opening filesystem to check... >> >> Checking filesystem on /dev/mapper/system-root >> >> UUID: 605560ad-fe93-4d09-8760-df0725b43ee1 >> >> [1/8] checking log skipped (none written) >> >> [1/7] checking root items (0:00:14 elapsed, 5328460 items checked) >> >> [2/7] checking extents (0:01:01 elapsed, 984830 items checked) >> >> [3/7] checking free space cache (0:00:12 elapsed, 471 items checked) >> >> [4/7] checking fs roots (0:04:32 elapsed, 910644 items checked) >> >> [5/7] checking csums (without verifying data) (0:00:12 elapsed, >> 895024 items checked) >> >> fs tree 490 missing orphan item (0:00:00 elapsed, 94 items checked) > > So indeed your fs has a half dropped ghost subvolume, most likely > caused by some older kernels. > > Unfortunately btrfs-progs doesn't have the ability to repair it yet, > I'll craft a branch of btrfs-progs with the repair ability soon. > > Meanwhile please prepare an environment to compile btrfs-progs. > > Thanks, > Qu Hi, I would like to ask if there is a solution to the "dropped ghost subvolume" the filesystem on machine here exhibits as of yet? -Thanks Paul Graff > >> >> [6/7] checking root refs (0:00:01 elapsed, 94 items checked) >> >> ERROR: errors found in root refs >> >> found 496776130741 bytes used, error(s) found >> >> total csum bytes: 465839608 >> >> total tree bytes: 16133832704 >> >> total fs tree bytes: 14983905280 >> >> total extent tree bytes: 624771072 >> >> btree space waste bytes: 3613129770 >> >> file data blocks allocated: 1062495817728 >> >> referenced 976540409856 >> >> :~ # >> >> >>> >>> Thanks, >>> Qu >>> >> -Greatest Hopes >> Paul >>>> >>>> After passing, >>>> >>>> |:~> sudo btrfs subvolume sync / [sudo] password for root: >>>> hightower- i5-6600k:~> | >>>> >>>> the command returned to prompt very, very quickly. >>>> >>>> A second balance attempt results with the following output: >>>> >>>> |:~> sudo btrfs balance start / WARNING: Full balance without >>>> filters requested. This operation is very intense and takes >>>> potentially very long. It is recommended to use the balance filters >>>> to narrow down the scope of balance. Use 'btrfs balance start >>>> --full-balance' option to skip this warning. The operation will >>>> start in 10 seconds. Use Ctrl-C to stop it. 10 9 8 7 6 5 4 3 2 1 >>>> Starting balance without any filters. ERROR: error during balancing >>>> '/': Structure needs cleaning There may be more info in syslog - >>>> try dmesg | tail hightower- i5-6600k:~> | >>>> >>>> |:~> dmesg | tail [93689.781162] [ T69656] BTRFS info (device >>>> dm-2): found 16 extents, stage: update data pointers [93690.667290] >>>> [ T69656] BTRFS info (device dm-2): relocating block group >>>> 1495819878400 flags data [93703.323923] [ T69656] BTRFS info >>>> (device dm-2): found 33 extents, stage: move data extents >>>> [93705.575991] [ T69656] BTRFS info (device dm-2): found 33 >>>> extents, stage: update data pointers [93706.769453] [ T69656] BTRFS >>>> info (device dm-2): relocating block group 1494746136576 flags data >>>> [93725.570642] [ T69656] BTRFS info (device dm-2): found 39 >>>> extents, stage: move data extents [93727.449779] [ T69656] BTRFS >>>> info (device dm-2): found 39 extents, stage: update data pointers >>>> [93728.465650] [ T69656] BTRFS info (device dm-2): relocating block >>>> group 60294168576 flags metadata|dup [93736.722689] [ T69656] BTRFS >>>> error (device dm-2): cannot relocate partially dropped subvolume >>>> 490, drop progress key (853588 108 0) [93750.594559] [ T69656] >>>> BTRFS info (device dm-2): balance: ended with status: -117 >>>> hightower- i5-6600k:~> | >>>> >>>> Please see the following referenced, prior posting for stuck >>>> subvolume removal similarity. https://lore.kernel.org/linux- >>>> btrfs/9f936d59- d782-1f48-bbb7-dd1c8dae2615@gmail.com/ >>>> >>>> Is there a patch for btrfsprogs? If so can the patch be merged?| >>>> | >>>> >>>> What are your thoughts on this? >>>> >>>> >>>> >>>> >>>> >>> >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Stuck subvolume removal: 2026-01-28 8:42 ` Paul Graff @ 2026-01-28 8:49 ` Qu Wenruo 2026-03-01 15:47 ` Paul Graff 0 siblings, 1 reply; 7+ messages in thread From: Qu Wenruo @ 2026-01-28 8:49 UTC (permalink / raw) To: Paul Graff, Qu Wenruo, linux-btrfs 在 2026/1/28 19:12, Paul Graff 写道: [...] >> Unfortunately btrfs-progs doesn't have the ability to repair it yet, >> I'll craft a branch of btrfs-progs with the repair ability soon. >> >> Meanwhile please prepare an environment to compile btrfs-progs. >> >> Thanks, >> Qu > > Hi, I would like to ask if there is a solution to the "dropped ghost > subvolume" the filesystem on machine here exhibits as of yet? My bad, forgot to inform you about the fix. In fact the fix is already merged into btrfs-progs, but not yet included in any release. If you can compile btrfs-progs, please fetch and compile the latest devel branch: https://github.com/kdave/btrfs-progs/tree/devel After compiling the devel branch, you can use `btrfs check --repair` to fix the problem, which will add back the missing orphan item for those ghost subvolumes. Thanks, Qu > > -Thanks > > Paul Graff > >> >>> >>> [6/7] checking root refs (0:00:01 elapsed, 94 items checked) >>> >>> ERROR: errors found in root refs >>> >>> found 496776130741 bytes used, error(s) found >>> >>> total csum bytes: 465839608 >>> >>> total tree bytes: 16133832704 >>> >>> total fs tree bytes: 14983905280 >>> >>> total extent tree bytes: 624771072 >>> >>> btree space waste bytes: 3613129770 >>> >>> file data blocks allocated: 1062495817728 >>> >>> referenced 976540409856 >>> >>> :~ # >>> >>> >>>> >>>> Thanks, >>>> Qu >>>> >>> -Greatest Hopes >>> Paul >>>>> >>>>> After passing, >>>>> >>>>> |:~> sudo btrfs subvolume sync / [sudo] password for root: >>>>> hightower- i5-6600k:~> | >>>>> >>>>> the command returned to prompt very, very quickly. >>>>> >>>>> A second balance attempt results with the following output: >>>>> >>>>> |:~> sudo btrfs balance start / WARNING: Full balance without >>>>> filters requested. This operation is very intense and takes >>>>> potentially very long. It is recommended to use the balance filters >>>>> to narrow down the scope of balance. Use 'btrfs balance start -- >>>>> full-balance' option to skip this warning. The operation will start >>>>> in 10 seconds. Use Ctrl-C to stop it. 10 9 8 7 6 5 4 3 2 1 Starting >>>>> balance without any filters. ERROR: error during balancing '/': >>>>> Structure needs cleaning There may be more info in syslog - try >>>>> dmesg | tail hightower- i5-6600k:~> | >>>>> >>>>> |:~> dmesg | tail [93689.781162] [ T69656] BTRFS info (device >>>>> dm-2): found 16 extents, stage: update data pointers [93690.667290] >>>>> [ T69656] BTRFS info (device dm-2): relocating block group >>>>> 1495819878400 flags data [93703.323923] [ T69656] BTRFS info >>>>> (device dm-2): found 33 extents, stage: move data extents >>>>> [93705.575991] [ T69656] BTRFS info (device dm-2): found 33 >>>>> extents, stage: update data pointers [93706.769453] [ T69656] BTRFS >>>>> info (device dm-2): relocating block group 1494746136576 flags data >>>>> [93725.570642] [ T69656] BTRFS info (device dm-2): found 39 >>>>> extents, stage: move data extents [93727.449779] [ T69656] BTRFS >>>>> info (device dm-2): found 39 extents, stage: update data pointers >>>>> [93728.465650] [ T69656] BTRFS info (device dm-2): relocating block >>>>> group 60294168576 flags metadata|dup [93736.722689] [ T69656] BTRFS >>>>> error (device dm-2): cannot relocate partially dropped subvolume >>>>> 490, drop progress key (853588 108 0) [93750.594559] [ T69656] >>>>> BTRFS info (device dm-2): balance: ended with status: -117 >>>>> hightower- i5-6600k:~> | >>>>> >>>>> Please see the following referenced, prior posting for stuck >>>>> subvolume removal similarity. https://lore.kernel.org/linux- >>>>> btrfs/9f936d59- d782-1f48-bbb7-dd1c8dae2615@gmail.com/ >>>>> >>>>> Is there a patch for btrfsprogs? If so can the patch be merged?| >>>>> | >>>>> >>>>> What are your thoughts on this? >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>> >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: Stuck subvolume removal: 2026-01-28 8:49 ` Qu Wenruo @ 2026-03-01 15:47 ` Paul Graff 0 siblings, 0 replies; 7+ messages in thread From: Paul Graff @ 2026-03-01 15:47 UTC (permalink / raw) To: Qu Wenruo, Qu Wenruo, linux-btrfs On 1/28/26 2:49 AM, Qu Wenruo wrote: > > > 在 2026/1/28 19:12, Paul Graff 写道: > [...] >>> Unfortunately btrfs-progs doesn't have the ability to repair it yet, >>> I'll craft a branch of btrfs-progs with the repair ability soon. >>> >>> Meanwhile please prepare an environment to compile btrfs-progs. >>> >>> Thanks, >>> Qu >> >> Hi, I would like to ask if there is a solution to the "dropped ghost >> subvolume" the filesystem on machine here exhibits as of yet? > > My bad, forgot to inform you about the fix. > > In fact the fix is already merged into btrfs-progs, but not yet included > in any release. > > If you can compile btrfs-progs, please fetch and compile the latest > devel branch: > > https://github.com/kdave/btrfs-progs/tree/devel > > After compiling the devel branch, you can use `btrfs check --repair` to > fix the problem, which will add back the missing orphan item for those > ghost subvolumes. > I did not know how to compile from the devel branch, this is unfortunate. I waited until openSUSE Tumbleweed btrfsprogs Version 6.19-1.1 was included in a snapshot which took a while but seems to have worked. I first ran # btrfs check --repair /dev/mapper/system-root from a openSUSE Rescue CD image, it completed. I then ran # btrfs balance start / yesterday when the drive was mounted and it took 12 hours or so but did complete. I think this problem is finally fixed? Thanks for helping with this. Paul > Thanks, > Qu > >> >> -Thanks >> >> Paul Graff >> >>> >>>> >>>> [6/7] checking root refs (0:00:01 elapsed, 94 items checked) >>>> >>>> ERROR: errors found in root refs >>>> >>>> found 496776130741 bytes used, error(s) found >>>> >>>> total csum bytes: 465839608 >>>> >>>> total tree bytes: 16133832704 >>>> >>>> total fs tree bytes: 14983905280 >>>> >>>> total extent tree bytes: 624771072 >>>> >>>> btree space waste bytes: 3613129770 >>>> >>>> file data blocks allocated: 1062495817728 >>>> >>>> referenced 976540409856 >>>> >>>> :~ # >>>> >>>> >>>>> >>>>> Thanks, >>>>> Qu >>>>> >>>> -Greatest Hopes >>>> Paul >>>>>> >>>>>> After passing, >>>>>> >>>>>> |:~> sudo btrfs subvolume sync / [sudo] password for root: >>>>>> hightower- i5-6600k:~> | >>>>>> >>>>>> the command returned to prompt very, very quickly. >>>>>> >>>>>> A second balance attempt results with the following output: >>>>>> >>>>>> |:~> sudo btrfs balance start / WARNING: Full balance without >>>>>> filters requested. This operation is very intense and takes >>>>>> potentially very long. It is recommended to use the balance >>>>>> filters to narrow down the scope of balance. Use 'btrfs balance >>>>>> start -- full-balance' option to skip this warning. The operation >>>>>> will start in 10 seconds. Use Ctrl-C to stop it. 10 9 8 7 6 5 4 3 >>>>>> 2 1 Starting balance without any filters. ERROR: error during >>>>>> balancing '/': Structure needs cleaning There may be more info in >>>>>> syslog - try dmesg | tail hightower- i5-6600k:~> | >>>>>> >>>>>> |:~> dmesg | tail [93689.781162] [ T69656] BTRFS info (device >>>>>> dm-2): found 16 extents, stage: update data pointers >>>>>> [93690.667290] [ T69656] BTRFS info (device dm-2): relocating >>>>>> block group 1495819878400 flags data [93703.323923] [ T69656] >>>>>> BTRFS info (device dm-2): found 33 extents, stage: move data >>>>>> extents [93705.575991] [ T69656] BTRFS info (device dm-2): found >>>>>> 33 extents, stage: update data pointers [93706.769453] [ T69656] >>>>>> BTRFS info (device dm-2): relocating block group 1494746136576 >>>>>> flags data [93725.570642] [ T69656] BTRFS info (device dm-2): >>>>>> found 39 extents, stage: move data extents [93727.449779] >>>>>> [ T69656] BTRFS info (device dm-2): found 39 extents, stage: >>>>>> update data pointers [93728.465650] [ T69656] BTRFS info (device >>>>>> dm-2): relocating block group 60294168576 flags metadata|dup >>>>>> [93736.722689] [ T69656] BTRFS error (device dm-2): cannot >>>>>> relocate partially dropped subvolume 490, drop progress key >>>>>> (853588 108 0) [93750.594559] [ T69656] BTRFS info (device dm-2): >>>>>> balance: ended with status: -117 hightower- i5-6600k:~> | >>>>>> >>>>>> Please see the following referenced, prior posting for stuck >>>>>> subvolume removal similarity. https://lore.kernel.org/linux- >>>>>> btrfs/9f936d59- d782-1f48-bbb7-dd1c8dae2615@gmail.com/ >>>>>> >>>>>> Is there a patch for btrfsprogs? If so can the patch be merged?| >>>>>> | >>>>>> >>>>>> What are your thoughts on this? >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>> >> > ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2026-03-01 15:47 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-11-13 22:40 Stuck subvolume removal: Paul Graff 2025-11-13 22:54 ` Qu Wenruo 2025-11-14 19:38 ` Paul Graff 2025-11-14 19:55 ` Qu Wenruo 2026-01-28 8:42 ` Paul Graff 2026-01-28 8:49 ` Qu Wenruo 2026-03-01 15:47 ` Paul Graff
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox