Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
os/bluestore: ExtentMap: reshard only requested range
Only reshard extents in the requested range. Note that the strategy for unspanning blobs changed; we now span or unspan specific blobs at the end based on our reshard result instead of unspanning all at the start. This keeps the spanning id stable, which is important because it may be referenced from another that we aren't even looking at. Also note that this requires a bit of restructuring: an encode_some may hit a spanning shard, *requiring* us to reshard, which means we should always conduct the initial pass through update to discover other reshard requirements, even if we already know some resharding will be needed. Signed-off-by: Sage Weil <sage@redhat.com>
- Loading branch information