]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: fix incomplete faulty range marking when doing compression 22909/head
authorIgor Fedotov <ifedotov@suse.com>
Thu, 5 Jul 2018 11:27:12 +0000 (14:27 +0300)
committerIgor Fedotov <ifedotov@suse.com>
Fri, 6 Jul 2018 16:21:03 +0000 (19:21 +0300)
commit8ff0fd90788174051c095746a5ff06eb9611764e
tree5d12b5e329a5abe6b2f838030c6595a8fbd0b121
parentb199fb51f22ae1ae26d4a0da8b1e7dd9ddbe4e99
os/bluestore: fix incomplete faulty range marking when doing compression
GC.

Under some scenarios GC might process an extent range where some inner extents are left untouched by GC (as there is no need for that). Hence GC doesn't invaliate these inner extents with fault_range call. If untouched extents are mapped to unloaded shards it results in subsequent assertion on o->extent_map.dirty_range() call.
The solution is to invalidate the whole extent range when doing GC.

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