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 <l...@intel.com> >> Signed-off-by: Christophe Leroy <christophe.le...@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,