Re: [PATCH 05/17] btrfs: don't allow tree block to cross page boundary for subpage support

Nikolay Borisov
2020-09-11T12:08:45Z

On 11.09.20 г. 14:36 ч., Qu Wenruo wrote:
>
>
> On 2020/9/11 下午6:26, Nikolay Borisov wrote:
>>
>>
>> On 8.09.20 г. 10:52 ч., Qu Wenruo wrote:
>>> As a preparation for subpage sector size support (allow sector size
>>> smaller than page size to be mounted), if the sector size is smaller
>>
>> nit: (allowing filesystem with sector size smaller than page size to be
>> mounted)
>>
>>> than page size, we don't allow tree block to be read if it cross page
>>> boundary (normally 64K).
>>
>> Why normally 64k ?
>
> Because there are only two major arches supporting non-4k page size,
> ppc64 which uses 64K page size, and arm which can support 4K, 16K and
> 64K page size.
>
> Currently our plan is only to support 64K page size and 4K page size.

I really rather make the support generic rather than boxing ourselves in
some "artificial" constraints.

>
> Furthermore, that 64K magic number matches with 64K stripe length of
> btrfs, thus we choose 64K as the boundary.
>
>> I suspect you assume readers are familiar with the
>> motivation for this work which they don't necessarily need to be. Please
>> make your sentences explicit. Correct me if I'm wrong but you are
>> ensuring that an eb doesn't cross the largest possible sectorsize?
>
> That's correct, and by incident, it's also the stripe length of btrfs
> RAID, and scrub stripe length too.
>
> (And scrub can't handle such tree block either)

And that by itself is a good reason why we may want to support just 64k.
So state that explicitly.

>
> Thanks,
> Qu
>

<snip>