isn't there a way to move free space to unallocated space again?

Am 03.12.2016 um 05:43 schrieb Andrei Borzenkov:
> 01.12.2016 18:48, Chris Murphy пишет:
>> On Thu, Dec 1, 2016 at 7:10 AM, Stefan Priebe - Profihost AG
>> <s.pri...@profihost.ag> wrote:
>>>
>>> Am 01.12.2016 um 14:51 schrieb Hans van Kranenburg:
>>>> On 12/01/2016 09:12 AM, Andrei Borzenkov wrote:
>>>>> On Thu, Dec 1, 2016 at 10:49 AM, Stefan Priebe - Profihost AG
>>>>> <s.pri...@profihost.ag> wrote:
>>>>> ...
>>>>>>
>>>>>> Custom 4.4 kernel with patches up to 4.10. But i already tried 4.9-rc7
>>>>>> which does the same.
>>>>>>
>>>>>>
>>>>>>>> # btrfs filesystem show /ssddisk/
>>>>>>>> Label: none  uuid: a69d2e90-c2ca-4589-9876-234446868adc
>>>>>>>>         Total devices 1 FS bytes used 305.67GiB
>>>>>>>>         devid    1 size 500.00GiB used 500.00GiB path /dev/vdb1
>>>>>>>>
>>>>>>>> # btrfs filesystem usage /ssddisk/
>>>>>>>> Overall:
>>>>>>>>     Device size:                 500.00GiB
>>>>>>>>     Device allocated:            500.00GiB
>>>>>>>>     Device unallocated:            1.05MiB
>>>>>>>
>>>>>>> Drive is actually fully allocated so if Btrfs needs to create a new
>>>>>>> chunk right now, it can't. However,
>>>>>>
>>>>>> Yes but there's lot of free space:
>>>>>>     Free (estimated):            193.46GiB      (min: 193.46GiB)
>>>>>>
>>>>>> How does this match?
>>>>>>
>>>>>>
>>>>>>> All three chunk types have quite a bit of unused space in them, so
>>>>>>> it's unclear why there's a no space left error.
>>>>>>>
>>>>>
>>>>> I remember discussion that balance always tries to pre-allocate one
>>>>> chunk in advance, and I believe there was patch to correct it but I am
>>>>> not sure whether it was merged.
>>>>
>>>> http://www.spinics.net/lists/linux-btrfs/msg56772.html
>>>
>>> Thanks - still don't understand why that one is not upstream or why it
>>> was reverted. Looks absolutely reasonable to me.
>>
>> It is upstream and hasn't been reverted.
>>
>> https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/fs/btrfs/volumes.c?id=refs/tags/v4.8.11
>> line 3650
>>
>> I would try Duncan's idea of using just one filter and seeing what happens:
>>
>> 'btrfs balance start -dusage=1 <mp>'
>>
> 
> Actually I just hit exactly the same symptoms on my VM where device was
> fully allocated and metadata balance failed, but data balance succeeded
> to free up space which allowed metadata balance to run too. This is
> under 4.8.10.
> 
> So it appears that balance logic between data and metadata is somehow
> different.
> 
> As this VM gets in 100% allocated condition fairly often I'd try to get
> better understanding next time.
> 
> 
>>
>>>>>> With enospc debug it says:
>>>>>> [39193.425682] BTRFS warning (device vdb1): no space to allocate a new
>>>>>> chunk for block group 839941881856
>>>>>> [39193.426033] BTRFS info (device vdb1): 1 enospc errors during balance
>>
>> It might be nice if this stated what kind of chunk it's trying to allocate.
>>
>>
>>
> 
--
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