I have added the following information for reference. I have sent the following to the linux-btrfs@vger.kernel.org mailing list.
----------------------------Beginning of email------------------------------------
I am having problems 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 this reference prior post for possible stuck subvolume removal similarity. Attached arvidjaar’s hyperlink from post #7
Is there a patch for btrfsprogs? If so can the patch be merged?
What are your thoughts on this?
----------------------------------end of email-----------------------------