Re: ERROR: error during balancing '.' - No space left on device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Marc MERLIN posted on Sun, 23 Mar 2014 00:01:44 -0700 as excerpted:

> legolas:/mnt/btrfs_pool2# btrfs balance .
> ERROR: error during balancing '.' - No space left on device

> But:
> # btrfs fi show `pwd`
> Label: btrfs_pool2  uuid: [...]
> 	Total devices 1 FS bytes used 646.41GiB
>       devid 1 size 820.45GiB used 820.45GiB path /dev/mapper/disk2
> # [btrfs fi df `pwd` (unused single metadata/system chunks omitted)]
> Data, single: total=800.42GiB, used=636.91GiB
> System, DUP: total=8.00MiB, used=92.00KiB
> Metadata, DUP: total=10.00GiB, used=9.50GiB
> 
> I can't see how I'm full, and now that I can't run balance to fix
> things, this is making things worse.
> Kernel is 3.14.
> 
> What am I missing?

When it rains, it pours.  What you're missing is that this is now the 
third thread in three days with exactly the same out-of-space-when-there-
appears-to-be-plenty problem, which is well explained and a solution 
presented, along with further discussion, on those threads.

Evidently you haven't read the others, but rather than rewrite a similar 
reply here with exactly the same explanation and fix, I'll just refer you 
to them.

First thread, subject, original poster, message-id, gmane link:

fresh btrfs filesystem, out of disk space, hundreds of gigs free

Jon Nelson <jnelson@xxxxxxxxxxx>

<CAKuK5J0LyagDYro6Yq7h-p-VjbwrbeuFf9AdNwRNg0jv3bq9QQ@xxxxxxxxxxxxxx>

http://permalink.gmane.org/gmane.comp.file-systems.btrfs/33640


Second thread (same problem altho he chose as a subject a btrfsck error 
that wasn't actually related to it) ...

free space inode generation (0) did not match free space cache
 generation

Hendrik Friedel <hendrik@xxxxxxxxxxxxx>

<532DD2DC.3030408@xxxxxxxxxxxxx>

http://permalink.gmane.org/gmane.comp.file-systems.btrfs/33647

Very briefly, from your btrfs fi show:

devid 1 size 820.45GiB used 820.45GiB

That's total size and total of allocated chunks.  They're equal, so 
there's no space left to allocate.  Normally you'd use a balance, but a 
normal balance won't work without some space left to write the new chunks 
it's going to copy the old data/metadata into.  There is however a 
solution, balance filters, using a command something like this (-d for 
data only since df says that's what has the extra chunks that need freed, 
usage=percent-full):

btrfs balance start -dusage=5 `pwd`

Tweak the N in usage=N as needed.

The explanation for all that is in the other threads.  If that doesn't 
work (tho it most likely will), there's other solutions available, see 
the no-space discussion in the FAQ on the wiki, again as linked in the 
other threads.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux