From: Igor Fedotov Date: Thu, 23 Nov 2017 11:21:48 +0000 (+0300) Subject: osd/PrimryLogPG: avoid repetitive lookups on waiting_for_ondisk in eval_repop. X-Git-Tag: v13.0.2~541^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3f11a475c7c06dfaf2a506ee68d359114df6f93d;p=ceph.git osd/PrimryLogPG: avoid repetitive lookups on waiting_for_ondisk in eval_repop. Signed-off-by: Igor Fedotov --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 4c2a265b474..6ec09184ec6 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -9789,16 +9789,17 @@ void PrimaryLogPG::eval_repop(RepGather *repop) (*p)(); } // send dup commits, in order - if (waiting_for_ondisk.count(repop->v)) { + auto it = waiting_for_ondisk.find(repop->v); + if (it != waiting_for_ondisk.end()) { assert(waiting_for_ondisk.begin()->first == repop->v); for (list >::iterator i = - waiting_for_ondisk[repop->v].begin(); - i != waiting_for_ondisk[repop->v].end(); + it->second.begin(); + i != it->second.end(); ++i) { osd->reply_op_error(i->first, repop->r, repop->v, i->second); } - waiting_for_ondisk.erase(repop->v); + waiting_for_ondisk.erase(it); } }