From: Qu Wenruo <wqu@suse.com>
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 0/9] btrfs: prepare for variable stripe_len
Date: Mon, 19 Oct 2026 17:09:56 +1030 [thread overview]
Message-ID: <cover.1792391732.git.wqu@suse.com> (raw)
This is a preparation patchset, to support a stripe_len that is not
64KiB.
This is for the future variable stripe length RAID56 feature, where
RAID56_VSL profile is allowed for data chunks, and the stripe_len can be
as small as sectorsize, meanwhile data IO are kept to be aligned to
data_size, which is power of 2, and larger than sector size.
Finally, RAID56_VSL will always have a number of devices that nr_data ==
data_size / sector_size.
So that's why we want a variable stripe_len.
This series does all the preparation, including supporting stripe_len <
PAGE_SIZE.
For now, tree-checker will still reject stripe_len != 64K, but that
limit will be removed when RAID56_VSL feature is introduced and can be
properly tested.
Qu Wenruo (9):
btrfs: reduce the width of num_stripes and sub_stripes
btrfs: load the on-disk btrfs_chunk::stripe_len
btrfs: add btrfs_io_context::stripe_len and load it
btrfs: change scrub to use stripe_len
btrfs: add a new 'stripe_len' parameter to btrfs_stripe_nr_to_offset()
btrfs: convert volumes.c and block-group.c to use map->stripe_len
btrfs: convert raid56.c to use rbio->bioc->stripe_len
btrfs: convert zoned.c to use map->stripe_len
btrfs: introduce extra limits on btrfs_chunk::stripe_len
fs/btrfs/block-group.c | 9 +--
fs/btrfs/raid56.c | 52 ++++++++++++------
fs/btrfs/raid56.h | 7 +--
fs/btrfs/scrub.c | 118 ++++++++++++++++++++++++++--------------
fs/btrfs/tree-checker.c | 13 ++++-
fs/btrfs/volumes.c | 84 ++++++++++++++++++----------
fs/btrfs/volumes.h | 16 ++++--
fs/btrfs/zoned.c | 54 ++++++++++--------
8 files changed, 226 insertions(+), 127 deletions(-)
--
2.56.0
next reply other threads:[~2026-10-19 6:40 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-19 6:39 Qu Wenruo [this message]
2026-10-19 6:39 ` [PATCH 1/9] btrfs: reduce the width of num_stripes and sub_stripes Qu Wenruo
2026-10-20 9:59 ` Johannes Thumshirn
2026-10-19 6:39 ` [PATCH 2/9] btrfs: load the on-disk btrfs_chunk::stripe_len Qu Wenruo
2026-10-20 10:01 ` Johannes Thumshirn
2026-10-19 6:39 ` [PATCH 3/9] btrfs: add btrfs_io_context::stripe_len and load it Qu Wenruo
2026-10-20 10:05 ` Johannes Thumshirn
2026-10-19 6:40 ` [PATCH 4/9] btrfs: change scrub to use stripe_len Qu Wenruo
2026-10-20 11:01 ` Johannes Thumshirn
2026-10-19 6:40 ` [PATCH 5/9] btrfs: add a new 'stripe_len' parameter to btrfs_stripe_nr_to_offset() Qu Wenruo
2026-10-19 21:52 ` kernel test robot
2026-10-19 22:05 ` Qu Wenruo
2026-10-19 6:40 ` [PATCH 6/9] btrfs: convert volumes.c and block-group.c to use map->stripe_len Qu Wenruo
2026-10-20 11:03 ` Johannes Thumshirn
2026-10-19 6:40 ` [PATCH 7/9] btrfs: convert raid56.c to use rbio->bioc->stripe_len Qu Wenruo
2026-10-19 6:40 ` [PATCH 8/9] btrfs: convert zoned.c to use map->stripe_len Qu Wenruo
2026-10-20 11:07 ` Johannes Thumshirn
2026-10-19 6:40 ` [PATCH 9/9] btrfs: introduce extra limits on btrfs_chunk::stripe_len Qu Wenruo
2026-10-20 11:23 ` Johannes Thumshirn
2026-10-19 7:45 ` [PATCH 0/9] btrfs: prepare for variable stripe_len Qu Wenruo
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.1792391732.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.