]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd/PGLog: reset log.complete_to when recover obect failed 30533/head
authorTao Ning <ningtao@sangfor.com.cn>
Tue, 24 Sep 2019 04:45:24 +0000 (12:45 +0800)
committerTao Ning <ningtao@sangfor.com.cn>
Tue, 24 Sep 2019 04:45:24 +0000 (12:45 +0800)
commit6e9ea4fbeb3885330b277448f9e81b3dfea224c4
tree579c533f13367e5f135da3b4db41d1b95c8cc024
parent70894282e945a074d4f710a94b56c49c9737f421
osd/PGLog: reset log.complete_to when recover obect failed

1. Injection read fault, recover failed object is added to the missing set, log.complete_to == log.end()
2. Before the first object recovery, the new object writes, update info.last_update, because num_missing() != 0, so last_complete will not be updated
3. After the first object recovery, PeeringState::recover_got generates the error: ceph_assert(info.last_complete == info.last_update);

Fixed: https://tracker.ceph.com/issues/42019

Signed-off-by: Tao Ning <ningtao@sangfor.com.cn>
src/osd/PeeringState.cc