Currently if block size < page size, btrfs only supports one single config, 4K. This is mostly to reduce the test configurations, as 4K is going to be the default block size for all architectures. However all other major filesystems have no artificial limits on the support block size, and some are already supporting block size > page sizes. Since the btrfs subpage block support has been there for a long time, it's time for us to enable all block size <= page size support. So here enable all block sizes support as long as it's no larger than page size for experimental builds. Signed-off-by: Qu Wenruo <wqu@xxxxxxxx> --- fs/btrfs/fs.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fs/btrfs/fs.c b/fs/btrfs/fs.c index 335209fe3734..014fb8b12f96 100644 --- a/fs/btrfs/fs.c +++ b/fs/btrfs/fs.c @@ -78,6 +78,10 @@ bool __attribute_const__ btrfs_supported_blocksize(u32 blocksize) if (blocksize == PAGE_SIZE || blocksize == SZ_4K || blocksize == BTRFS_MIN_BLOCKSIZE) return true; +#ifdef CONFIG_BTRFS_EXPERIMENTAL + if (blocksize <= PAGE_SIZE) + return true; +#endif return false; } -- 2.50.1