Merge pull request #16558 from hjwsm1989/fix-recovering-hang-with-unfound-objects

osd/PrimaryLogPG: fix recovering hang when have unfound objects

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
This commit is contained in:
Yuri Weinstein 2017-07-27 08:37:15 -07:00 committed by GitHub
commit 6942e3932b

View File

@ -938,7 +938,7 @@ int PrimaryLogPG::do_command(
ConnectionRef con,
ceph_tid_t tid)
{
const pg_missing_t &missing = pg_log.get_missing();
const auto &missing = pg_log.get_missing();
string prefix;
string format;
@ -11298,7 +11298,7 @@ bool PrimaryLogPG::start_recovery_ops(
return false;
}
const pg_missing_t &missing = pg_log.get_missing();
const auto &missing = pg_log.get_missing();
unsigned int num_missing = missing.num_missing();
uint64_t num_unfound = get_num_unfound();
@ -11438,7 +11438,7 @@ uint64_t PrimaryLogPG::recover_primary(uint64_t max, ThreadPool::TPHandle &handl
{
assert(is_primary());
const pg_missing_t &missing = pg_log.get_missing();
const auto &missing = pg_log.get_missing();
dout(10) << "recover_primary recovering " << recovering.size()
<< " in pg" << dendl;