[PATCH] fs: btrfs: Disable BTRFS on platforms having 256K pages
Christophe Leroy
christophe.leroy at csgroup.eu
Mon Jan 10 19:29:44 AEDT 2022
Hi Qu,
Le 05/01/2022 à 00:32, Qu Wenruo a écrit :
> Hi Christophe,
>
> I'm recently enhancing the subpage support for btrfs, and my current
> branch should solve the problem for btrfs to support larger page sizes.
>
> But unfortunately my current test environment can only provide page size
> with 64K or 4K, no 16K or 128K/256K support.
>
> Mind to test my new branch on 128K page size systems?
> (256K page size support is still lacking though, which will be addressed
> in the future)
I don't have any system with disk, I only use flashdisks with UBIFS
filesystem.
The reason why I did this commit was because of a build failure reported
by Kernel Build Robot, that's it.
Also note that powerpc doesn't have 128K pages. Only 4/16/64/256.
And for 256 it requires a special version of ld and binutils that I
don't have.
I have a board where I can do 16k pages, but again that board has no disk.
Christophe
>
> https://github.com/adam900710/linux/tree/metadata_subpage_switch
>
> Thanks,
> Qu
>
> On 2021/6/10 13:23, Christophe Leroy wrote:
>> With a config having PAGE_SIZE set to 256K, BTRFS build fails
>> with the following message
>>
>> include/linux/compiler_types.h:326:38: error: call to
>> '__compiletime_assert_791' declared with attribute error: BUILD_BUG_ON
>> failed: (BTRFS_MAX_COMPRESSED % PAGE_SIZE) != 0
>>
>> BTRFS_MAX_COMPRESSED being 128K, BTRFS cannot support platforms with
>> 256K pages at the time being.
>>
>> There are two platforms that can select 256K pages:
>> - hexagon
>> - powerpc
>>
>> Disable BTRFS when 256K page size is selected.
>>
>> Reported-by: kernel test robot <lkp at intel.com>
>> Signed-off-by: Christophe Leroy <christophe.leroy at csgroup.eu>
>> ---
>> fs/btrfs/Kconfig | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/fs/btrfs/Kconfig b/fs/btrfs/Kconfig
>> index 68b95ad82126..520a0f6a7d9e 100644
>> --- a/fs/btrfs/Kconfig
>> +++ b/fs/btrfs/Kconfig
>> @@ -18,6 +18,8 @@ config BTRFS_FS
>> select RAID6_PQ
>> select XOR_BLOCKS
>> select SRCU
>> + depends on !PPC_256K_PAGES # powerpc
>> + depends on !PAGE_SIZE_256KB # hexagon
>>
>> help
>> Btrfs is a general purpose copy-on-write filesystem with extents,
More information about the Linuxppc-dev
mailing list