]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
btrfs: disable build on platforms having page size 256K
authorChristophe Leroy <christophe.leroy@csgroup.eu>
Thu, 10 Jun 2021 05:23:02 +0000 (05:23 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Jul 2021 14:15:45 +0000 (16:15 +0200)
[ Upstream commit b05fbcc36be1f8597a1febef4892053a0b2f3f60 ]

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. Supporting this would
require changes to the subpage mode that's currently being developed.
Given that 256K is many times larger than page sizes commonly used and
for what the algorithms and structures have been tuned, it's out of
scope and disabling build is a reasonable option.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
[ update changelog ]
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/btrfs/Kconfig

index 23537bc8c827c7accea2ea4aa9ce7107e9fa5994..7233127bb93acd48e9f328b34ac83dc57c3c3877 100644 (file)
@@ -12,6 +12,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,