[LTP] [PATCH v3] Use real FS block size in fallocate05

Qu WenRuo wqu@suse.com
Mon Jan 13 14:30:08 CET 2020



On 2020/1/13 下午9:25, Martin Doucha wrote:
> On 1/13/20 2:16 PM, Qu WenRuo wrote:
>> Just a small tip, btrfs defaults to data CoW, and unlike other CoW fs
>> (like xfs), btrfs has an extent booking behavior, that even only part of
>> a large extent (e.g 128MiB) is referred, the whole extent will not be freed.
> 
> I know, I reported the bug where we discussed this.
> 
>>>> What's the minimum block device size
>>>> where Btrfs will use the same code paths as in real-world use cases?
>>
>> Mkfs.btrfs no longer enables --mixed for small fs.
>>
>> But btrfs still has a pretty complex minimal device size, it depends on
>> profile (-m and -d options).
>>
>> If LTP guys want to be safe for single device, it needs 256MiB for
>> `mkfs.btrfs -m dup -d dup` to run successfully.
>>
>> If only default case (-m dup -d single) is needed, then 128MiB is enough.
> 
> Sorry but my question was not about the minimum for mkfs. My question
> was about the minimum device size so that the kernel driver will use the
> same block allocation logic as on a 100GB+ partition (instead of some
> special case allocation logic for tiny block devices).

Then the meaningful boundary is 50G.

Smaller 50G, metadata chunk is limited to 256M, otherwise metadata chunk
can be 1G sized.
Despite chunk size, there shouldn't be much difference in the code path.

I guess you're talking about the old `mixed` behavior, which is no
longer the default option for any fs size.

Thanks,
Qu


More information about the ltp mailing list