dout(10) << "pushed " << soid << " to all replicas" << dendl;
map<hobject_t, ObjectContextRef>::iterator i = recovering.find(soid);
assert(i != recovering.end());
+ if (backfills_in_flight.count(soid)) {
+ list<OpRequestRef> requeue_list;
+ i->second->drop_backfill_read(&requeue_list);
+ requeue_ops(requeue_list);
+ backfills_in_flight.erase(soid);
+ }
recovering.erase(i);
finish_recovery_op(soid);
if (waiting_for_degraded_object.count(soid)) {
publish_stats_to_osd();
// done!
peer_missing[peer].got(soid, recovery_info.version);
- if (is_backfill_targets(peer) && backfills_in_flight.count(soid)) {
- map<hobject_t, ObjectContextRef>::iterator i = recovering.find(soid);
- assert(i != recovering.end());
- list<OpRequestRef> requeue_list;
- i->second->drop_backfill_read(&requeue_list);
- requeue_ops(requeue_list);
- backfills_in_flight.erase(soid);
- }
}
void ReplicatedPG::begin_peer_recover(