From: Jianwei Zhang Date: Mon, 13 Sep 2021 10:13:18 +0000 (+0800) Subject: osd: fix partial recovery become whole object recovery after restart osd X-Git-Tag: v16.2.7~79^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F43513%2Fhead;p=ceph.git osd: fix partial recovery become whole object recovery after restart osd support SERVER_OCTOPUS feature for pg_missing_item::encode() Fixes: https://tracker.ceph.com/issues/52583 Signed-off-by: Jianwei Zhang (cherry picked from commit dcdb188b6f577551fb377ba34145419f81322b03) --- diff --git a/src/osd/PGLog.cc b/src/osd/PGLog.cc index be3f7414d6924..2c322b3d8f38c 100644 --- a/src/osd/PGLog.cc +++ b/src/osd/PGLog.cc @@ -938,8 +938,7 @@ void PGLog::_write_log_and_missing( if (!missing.is_missing(obj, &item)) { to_remove.insert(key); } else { - uint64_t features = missing.may_include_deletes ? CEPH_FEATURE_OSD_RECOVERY_DELETES : 0; - encode(make_pair(obj, item), (*km)[key], features); + encode(make_pair(obj, item), (*km)[key], CEPH_FEATUREMASK_SERVER_OCTOPUS); } }); if (require_rollback) {