]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: fix improper offset calculation when repairing. 43885/head
authorIgor Fedotov <ifedotov@suse.com>
Thu, 15 Jul 2021 12:10:14 +0000 (15:10 +0300)
committerIgor Fedotov <ifed@suse.com>
Thu, 11 Nov 2021 10:28:32 +0000 (13:28 +0300)
commitb536ba50907ab86a30c1279ccab97d9845629138
treed83d67c802ef015317fd673cc6997a3c934912ea
parent0fc70d9288aab7442a3efc41956f346d97a0f410
os/bluestore: fix improper offset calculation when repairing.

While repairing misreferenced blobs BlueStore could improperly calculate
an offset within a blob being fixed. This could happen when single
physical extent has been replaced by multiple ones - the following
pextent (if any in the current blob) would be treated with the improper offset within the blob. Offset calculation didn't account for each of that new pextents but the last one only.

Fixes: https://tracker.ceph.com/issues/51682
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit ca4b6675fc3fd2f4cadad58044c97c5bb23d5938)
src/os/bluestore/BlueStore.cc