// always add_recovering(soid) before recover_object(soid)
assert(is_recovering(soid));
// start tracking the recovery of soid
- return seastar::do_with(std::map<pg_shard_t, PushOp>(), get_shards_to_push(soid),
- [this, soid, need](auto& pops, auto& shards) {
- return maybe_pull_missing_obj(soid, need).then(
- [this, soid, need, &pops, &shards] {
- return maybe_push_shards(soid, need, pops, shards);
- });
+ return maybe_pull_missing_obj(soid, need).then([this, soid, need] {
+ return seastar::do_with(std::map<pg_shard_t, PushOp>(),
+ get_shards_to_push(soid),
+ [this, soid, need](auto& pops, auto& shards) {
+ return maybe_push_shards(soid, need, pops, shards);
+ });
});
}