mbox series

[v3,0/3] btrfs: more RAID stripe tree updates

Message ID 20240712-b4-rst-updates-v3-0-5cf27dac98a7@kernel.org (mailing list archive)
Headers show
Series btrfs: more RAID stripe tree updates | expand

Message

Johannes Thumshirn July 12, 2024, 7:48 a.m. UTC
Three further RST updates targeted for 6.11 (hopefully).

The first one is a reworked version of the scrub vs dev-replace deadlock
fix. It does have reviews from Josef and Qu but I'd love to head Filipe's
take on it.

The second one updates a stripe extent in case a write to a already
present logical address happens.

The third one correects assumptions in the delete code. My assumption was
that we are deleting a single stripe extent on each call to
btrfs_delete_stripe_extent(). But do_free_extent_accounting() passes in a
start address and range of bytes that is deleted, so we need to keep track
of how many bytes we already have deleted and update the loop accordingly.

NOTE:
The next big bug in RST is related to relocation. When relocation is
reading from disk (via relocate_file_extent_cluster() ->
page_cache_ra_unbounded()) we're trying to lookup logical addresses that
for some reason RST does not know about and this leads to a tree dump and
ultimately a panic afterwards.

---
Changes in v3:
- Add Qu's Reviewed-by on patch 3
- Change patch 2 to using write_extent_buffer() (and drop Qu's R-b again)
- Link to v2: https://lore.kernel.org/r/20240711-b4-rst-updates-v2-0-d7b8113d88b7@kernel.org

Changes in v2:
- Add Qu's Reviewed-by on patch 2
- Add patch 3
- Link to v1: https://lore.kernel.org/r/20240709-b4-rst-updates-v1-0-200800dfe0fd@kernel.org

---
Johannes Thumshirn (3):
      btrfs: don't hold dev_replace rwsem over whole of btrfs_map_block
      btrfs: replace stripe extents
      btrfs: update stripe_extent delete loop assumptions

 fs/btrfs/raid-stripe-tree.c | 38 ++++++++++++++++++++++++++++++++++++++
 fs/btrfs/volumes.c          | 28 +++++++++++++++++-----------
 2 files changed, 55 insertions(+), 11 deletions(-)
---
base-commit: 584df860cac6e35e364ada101ccd13495b954644
change-id: 20240709-b4-rst-updates-bb9c0e49cd5b

Best regards,

Comments

David Sterba July 15, 2024, 12:41 p.m. UTC | #1
On Fri, Jul 12, 2024 at 09:48:35AM +0200, Johannes Thumshirn wrote:
> Three further RST updates targeted for 6.11 (hopefully).

6.11 is doable, all are fixes.