[PATCH v2 0/4] btrfs: rst: updates for RAID stripe tree

From: Johannes Thumshirn
Date: Wed Jun 19 2024 - 11:35:09 EST


Three independent updates for RAID stripe tree.
The 1st one removes pointless space from the on-disk format. As the
feature itself is still experimental I'd like to get rid of that as early
as possible.

Patch 2 replaces stripe extents in case we hit a EEXIST when inserting a
stripe extent on a write. This can happen i.e. on device-replace.

Patch 3 splits a stripe extent on partial delete of a stripe.

Patch 4 adds selftests for the stripe-tree delete code, these selftests
can and will be extended to cover insert and get as well

---
Changes in v2:
- Added selftests for delete code
- Link to v1: https://lore.kernel.org/r/20240610-b4-rst-updates-v1-0-179c1eec08f2@xxxxxxxxxx

---
Johannes Thumshirn (4):
btrfs: rst: remove encoding field from stripe_extent
btrfs: replace stripe extents
btrfs: split RAID stripes on deletion
btrfs: stripe-tree: add selftests

fs/btrfs/Makefile | 3 +-
fs/btrfs/accessors.h | 3 -
fs/btrfs/ctree.c | 1 +
fs/btrfs/print-tree.c | 5 -
fs/btrfs/raid-stripe-tree.c | 150 ++++++++++++++-----
fs/btrfs/raid-stripe-tree.h | 8 +-
fs/btrfs/tests/btrfs-tests.c | 3 +
fs/btrfs/tests/btrfs-tests.h | 1 +
fs/btrfs/tests/raid-stripe-tree-tests.c | 258 ++++++++++++++++++++++++++++++++
fs/btrfs/tree-checker.c | 19 ---
include/uapi/linux/btrfs_tree.h | 14 +-
11 files changed, 384 insertions(+), 81 deletions(-)
---
base-commit: 7f5983607be0823e94c20f565915faf9074a370d
change-id: 20240610-b4-rst-updates-d0aa696b9d5a

Best regards,
--
Johannes Thumshirn <jth@xxxxxxxxxx>