]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
os/bluestore: fix incomplete faulty range marking when doing compression 22910/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:26:50 +0000 (19:26 +0300)
commitb117d4f0d7aaac914713ac5f820522dc4015a86b
tree8f7c0f67860a4e026d9664abc8a220a7b6aa1377
parentf2aaf1d24ac18b3d9874526af8c3c69c2abdb226
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: https://tracker.ceph.com/issues/24799
Signed-off-by: Igor Fedotov <ifedotov@suse.com>
(cherry picked from commit 0f04d4484c8663767bdb60f743a8835897013b5a)
src/os/bluestore/BlueStore.cc