From: Qu Wenruo <wqu@suse.com>
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 0/2] btrfs-progs: allowing 2K block size for experimental builds
Date: Wed, 26 Feb 2025 14:29:13 +1030 [thread overview]
Message-ID: <cover.1740542229.git.wqu@suse.com> (raw)
Btrfs always has its minimal block size as 4K, but that means on the
most common architecture, x86_64, we can not utilize the subpage block
size routine at all.
Although the future larger folios support will allow us to utilize
subpage routines, the support is still not yet there.
On the other hand, lowering the block size for experimental/debug builds is
much easier, there is only one major bug (fixed by the first patch) in
btrfs-progs at least.
Kernel sides enablement is not huge either, but it has dependency on
the subpage related backlog patches to pass most fstests, which is not small.
However since we're not pushing this 2K block size for end users, we can
accept some limitations on the 2K block size support:
- No 2K node size mkfs support
This is mostly caused by how we create the initial temporaray fs.
The initial temporaray fs contains at least 6 root items.
But one root item is 439 bytes, we need a level 1 root tree for the
initial temporaray fs.
But we do not support multi-level trees for the initial fs, thus no
such support for now.
- No mixed block groups mkfs support
Caused by the missing 2K node size support
Qu Wenruo (3):
btrfs-progs: fix the incorrect buffer size for super block
btrfs-progs: support 2k block size
btrfs-progs: convert: check the sectorsize against BTRFS_MIN_BLOCKSIZE
common/device-scan.c | 2 +-
common/fsfeatures.c | 11 ++++++++---
convert/main.c | 2 +-
kernel-shared/ctree.h | 6 ++++++
kernel-shared/disk-io.c | 11 ++++-------
mkfs/main.c | 7 -------
6 files changed, 20 insertions(+), 19 deletions(-)
--
2.48.1
next reply other threads:[~2025-02-26 3:59 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-26 3:59 Qu Wenruo [this message]
2025-02-26 3:59 ` [PATCH] btrfs-progs: docs: add an extra note to btrfs data checksum and directIO Qu Wenruo
2025-02-26 3:59 ` [PATCH 1/3] btrfs-progs: fix the incorrect buffer size for super block Qu Wenruo
2025-02-26 3:59 ` [PATCH 2/3] btrfs-progs: support 2k block size Qu Wenruo
2025-02-26 3:59 ` [PATCH 3/3] btrfs-progs: convert: check the sectorsize against BTRFS_MIN_BLOCKSIZE Qu Wenruo
2025-03-19 21:49 ` [PATCH 0/2] btrfs-progs: allowing 2K block size for experimental builds David Sterba
2025-03-19 22:19 ` Qu Wenruo
2025-03-19 23:27 ` David Sterba
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=cover.1740542229.git.wqu@suse.com \
--to=wqu@suse.com \
--cc=linux-btrfs@vger.kernel.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