mbox series

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

Message ID 20240619-b4-rst-updates-v2-0-89c34d0d5298@kernel.org (mailing list archive)
Headers show
Series btrfs: rst: updates for RAID stripe tree | expand

Message

Johannes Thumshirn June 19, 2024, 3:34 p.m. UTC
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@kernel.org

---
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,