From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Christophe Leroy <christophe.leroy@csgroup.eu>,
Chris Mason <clm@fb.com>, Josef Bacik <josef@toxicpanda.com>,
David Sterba <dsterba@suse.com>
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
linux-btrfs@vger.kernel.org, linux-hexagon@vger.kernel.org
Subject: Re: [PATCH] fs: btrfs: Disable BTRFS on platforms having 256K pages
Date: Fri, 11 Jun 2021 21:47:39 +0800 [thread overview]
Message-ID: <a2411cbb-d793-5e11-dd4f-cc25ca55ed91@gmx.com> (raw)
In-Reply-To: <a16c31f3caf448dda5d9315e056585b6fafc22c5.1623302442.git.christophe.leroy@csgroup.eu>
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@intel.com>
> Signed-off-by: Christophe Leroy <christophe.leroy@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
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,
>
next prev parent reply other threads:[~2021-06-11 13:47 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-06-10 5:23 [PATCH] fs: btrfs: Disable BTRFS on platforms having 256K pages Christophe Leroy
2021-06-10 13:54 ` [PATCH] " Chris Mason
2021-06-10 14:50 ` Christophe Leroy
2021-06-10 16:20 ` David Sterba
2021-06-11 12:58 ` Chris Mason
2021-06-11 13:21 ` David Sterba
2021-06-11 16:56 ` Chris Mason
2021-06-12 14:44 ` Brian Cain
2021-06-11 12:34 ` [PATCH] fs: " David Sterba
2021-06-11 13:47 ` Qu Wenruo [this message]
2022-01-04 23:32 ` Qu Wenruo
2022-01-06 16:31 ` Neal Gompa
2022-01-07 0:13 ` Qu Wenruo
2022-01-07 2:45 ` Hector Martin
2022-01-07 4:55 ` Michael Ellerman
2022-01-07 5:21 ` Qu Wenruo
2022-01-10 8:29 ` Christophe Leroy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a2411cbb-d793-5e11-dd4f-cc25ca55ed91@gmx.com \
--to=quwenruo.btrfs@gmx.com \
--cc=christophe.leroy@csgroup.eu \
--cc=clm@fb.com \
--cc=dsterba@suse.com \
--cc=josef@toxicpanda.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-hexagon@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox