[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a2411cbb-d793-5e11-dd4f-cc25ca55ed91@gmx.com>
Date: Fri, 11 Jun 2021 21:47:39 +0800
From: Qu Wenruo <quwenruo.btrfs@....com>
To: Christophe Leroy <christophe.leroy@...roup.eu>,
Chris Mason <clm@...com>, Josef Bacik <josef@...icpanda.com>,
David Sterba <dsterba@...e.com>
Cc: linux-kernel@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
linux-btrfs@...r.kernel.org, linux-hexagon@...r.kernel.org
Subject: Re: [PATCH] fs: btrfs: Disable BTRFS on platforms having 256K pages
On 2021/6/10 下午1: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@...el.com>
> Signed-off-by: Christophe Leroy <christophe.leroy@...roup.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
I'm OK to disable page size other than 4K, 16K, 32K, 64K for now.
Although for other reasons.
Not only for the BUILD_BUG_ON(), but for the fact that btrfs only
support 4K, 16K, 32K, 64K sectorsize, and requires PAGE_SIZE == sectorsize.
Although we're adding subpage support, the subpage support only comes
with 4K sectorsize on 64K page size.
Until variable length version is introduced, 256K/128K page size won't
be support.
Thus I'm fine to disable BTRFS for any arch outside of the supported
page sizes for now.
Thanks,
Qu
>
> help
> Btrfs is a general purpose copy-on-write filesystem with extents,
>
Powered by blists - more mailing lists