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 <jianwei1216@qq.com>
This commit is contained in:
Jianwei Zhang 2021-09-13 18:13:18 +08:00
parent ed13301c20
commit dcdb188b6f

View File

@ -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) {