Linux Btrfs filesystem development
 help / color / mirror / Atom feed
From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Paul Graff <pj.world@gmx.com>, linux-btrfs@vger.kernel.org
Subject: Re: Stuck subvolume removal:
Date: Fri, 14 Nov 2025 09:24:56 +1030	[thread overview]
Message-ID: <4b4fc981-912d-40cd-945b-d4acf14198e1@gmx.com> (raw)
In-Reply-To: <1c371732-db4f-49ad-bc00-876b3be0fe98@gmx.com>



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


  reply	other threads:[~2025-11-13 22:55 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 [this message]
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

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=4b4fc981-912d-40cd-945b-d4acf14198e1@gmx.com \
    --to=quwenruo.btrfs@gmx.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=pj.world@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