This was broken by the osd_trans work merged in
01f3526b62. We need to
use the obs reference to new_obs. This caused objects to be deleted during
pg recovery.
Signed-off-by: Sage Weil <sage@newdream.net>
// append to log
int logopcode = Log::Entry::MODIFY;
- if (!ctx->obs->exists)
+ if (!obs.exists)
logopcode = Log::Entry::DELETE;
ctx->log.push_back(Log::Entry(logopcode, soid, ctx->at_version, old_version,
ctx->reqid, ctx->mtime));
for (list<Log::Entry>::reverse_iterator p = log.log.rbegin();
p != log.log.rend();
p++) {
- if (did.count(p->soid)) continue;
+ if (did.count(p->soid))
+ continue;
did.insert(p->soid);
if (p->is_delete()) {