Chris Murphy posted on Mon, 15 Sep 2014 14:54:57 -0600 as excerpted:

>> I still get enospc after a balance with a filter, and then a regular
>> balance:
>> 
>> cartman {~} root# btrfs balance start /
>> ERROR: error during balancing '/' - No space left on device
> 
> Maybe try mount option enospc_debug and retry, see if you get more
> information in dmesg.
> 
> I'm not sure if a balance in this case wants to create a new data and
> metadata chunk (on each device), or if it can start without creating any
> chunks. If it wants to create new chunks, it's 1GiB for data, and 256MiB
> for metadata. That's 1.256GiB but you only have 1.25GiB unallocated on
> each device: size 9.31GiB minus used 8.06GiB.

Another possibility that has hit a few people:

Did you (MM/OP not CM) convert that filesystem from ext* to btrfs?  If 
so, read on.  If not, this doesn't apply so you may skip it.

Assuming such a conversion, did you delete the subvolume containing the 
original ext* yet, or not?  If not, that may be the problem, because that 
subvolume must be left intact in ordered to allow rollback to ext* if 
desired.  If you know you won't be rolling back, delete the ext* reserved 
subvolume as described on the wiki.

Meanwhile, after deleting that subvolume, be sure to complete the defrag 
and balance as suggested on the wiki, because failing to do so can lead 
to other problems later.  Basically, the biggest extent size supported by 
btrfs is 1 GiB, the size of a btrfs data chunk, while ext* supports 
larger (unlimited size?) extents.  Failing to complete the defrag in 
particular as suggested can mean large files with extents > 1 GiB in 
size, which gives btrfs balance indigestion since it expects to see only 
1 GiB or smaller extents.  Several folks who converted from ext3/4 have 
reported failed balances due to these too large extents, and fixing the 
problem later can require manually moving one-by-one all files large 
enough to be candidates for the problem (thus files > 1 GiB) out of btrfs 
and back in, thus resulting in properly chunk-split extents when the file 
is moved back to btrfs.  Everyone who has reported this problem so far, 
has also reported that the move out and back in process solved the 
problem for them, but if there's lots of such files it can be a pain, and 
doing the defrag on the formerly ext* files before starting to use the 
now btrfs for other things, ESPECIALLY before trying to snapshot affected 
subvolumes since that locks the problem in place until those snapshots 
are deleted, is definitely preferred. =:^)

-- 
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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to