From: xie xingguo Date: Tue, 20 Aug 2019 02:43:43 +0000 (+0800) Subject: osd/PGLog: disable incremental recovery for pre-kraken versions X-Git-Tag: v15.1.0~1780^2~3 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=487372e680c81fe7b132b2d9ccac8949f3c15ec0;p=ceph-ci.git osd/PGLog: disable incremental recovery for pre-kraken versions Since kraken, we always persist the missing set explicitly (see https://github.com/ceph/ceph/pull/10334) and manually building the missing set is only meaningful to be compatiable with pre-kraken versions. For safety, explicitly disable incremental recovery if we have to completely re-build the missing set at boot up. Signed-off-by: xie xingguo --- diff --git a/src/osd/PGLog.h b/src/osd/PGLog.h index 81927870976..2beb72de527 100644 --- a/src/osd/PGLog.h +++ b/src/osd/PGLog.h @@ -1451,8 +1451,6 @@ public: continue; if (i->is_error()) continue; - if (!i->is_delete()) - missing.merge(*i); if (did.count(i->soid)) continue; did.insert(i->soid); @@ -1481,8 +1479,7 @@ public: ceph_assert(miter->second.have == oi.version || miter->second.have == eversion_t()); checked.insert(i->soid); } else { - missing.add(i->soid, i->version, oi.version, i->is_delete(), false); - missing.merge(*i); + missing.add(i->soid, i->version, oi.version, i->is_delete()); } } } else { @@ -1500,8 +1497,7 @@ public: } checked.insert(i->soid); } else { - missing.add(i->soid, i->version, eversion_t(), i->is_delete(), false); - missing.merge(*i); + missing.add(i->soid, i->version, eversion_t(), i->is_delete()); } } }