From f5134c8b95909a4292fd0222f2a46ef567ce08cb Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Fri, 9 Jan 2015 17:00:17 -0800 Subject: [PATCH] ReplicatedPG::wait_for_unreadable_object: use prep_object_replica_pushes instead of recover_missing if not missing Signed-off-by: Samuel Just --- src/osd/ReplicatedPG.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 576e646615f..2332cd2c4fc 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -423,7 +423,11 @@ void ReplicatedPG::wait_for_unreadable_object( } else { dout(7) << "missing " << soid << " v " << v << ", recovering." << dendl; PGBackend::RecoveryHandle *h = pgbackend->open_recovery_op(); - recover_missing(soid, v, cct->_conf->osd_client_op_priority, h); + if (is_missing_object(soid)) { + recover_missing(soid, v, cct->_conf->osd_client_op_priority, h); + } else { + prep_object_replica_pushes(soid, v, h); + } pgbackend->run_recovery_op(h, cct->_conf->osd_client_op_priority); } waiting_for_unreadable_object[soid].push_back(op); -- 2.47.3