Linux Btrfs filesystem development
 help / color / mirror / Atom feed
From: Paul Graff <pj.world@gmx.com>
To: Qu Wenruo <quwenruo.btrfs@gmx.com>, linux-btrfs@vger.kernel.org
Subject: Re: Stuck subvolume removal:
Date: Fri, 14 Nov 2025 13:38:20 -0600	[thread overview]
Message-ID: <01f8b560-fb57-4861-8382-141c39655478@gmx.com> (raw)
In-Reply-To: <4b4fc981-912d-40cd-945b-d4acf14198e1@gmx.com>



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?
>>
>>
>>
>>
>>
>


  reply	other threads:[~2025-11-14 19:38 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-13 22:40 Stuck subvolume removal: Paul Graff
2025-11-13 22:54 ` Qu Wenruo
2025-11-14 19:38   ` Paul Graff [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=01f8b560-fb57-4861-8382-141c39655478@gmx.com \
    --to=pj.world@gmx.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=quwenruo.btrfs@gmx.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox