Let recovery requeue operations and release backoff
For "delete" mark object context, if present, to non-existent
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit
0c106f1a46815bb769e7a503b1adb265480b6779)
log_entries.push_back(e);
oids.push_back(oid);
+ // If context found mark object as deleted in case
+ // of racing with new creation. This can happen if
+ // object lost and EIO at primary.
+ obc = object_contexts.lookup(oid);
+ if (obc)
+ obc->obs.exists = false;
+
++v.version;
++m;
}
}
}
- for (auto& p : waiting_for_unreadable_object) {
- release_backoffs(p.first);
- }
- requeue_object_waiters(waiting_for_unreadable_object);
if (is_recovery_unfound()) {
queue_peering_event(
CephPeeringEvtRef(