From: Sage Weil Date: Thu, 29 Jan 2015 18:14:04 +0000 (-0800) Subject: osd/PGLog: only do slow extra_reqid search of object appears at least once X-Git-Tag: v0.93~146^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f6239065e05694b94204d4badc248055bbb39583;p=ceph.git osd/PGLog: only do slow extra_reqid search of object appears at least once Signed-off-by: Sage Weil --- diff --git a/src/osd/PGLog.h b/src/osd/PGLog.h index d0b74d42db3c..0c8db5f2ea24 100644 --- a/src/osd/PGLog.h +++ b/src/osd/PGLog.h @@ -142,6 +142,10 @@ struct PGLog { /// get a (bounded) list of recent reqids for the given object void get_object_reqids(const hobject_t& oid, unsigned max, vector *pls) const { + // make sure object is present at least once before we do an + // O(n) search. + if (objects.count(oid) == 0) + return; for (list::const_reverse_iterator i = log.rbegin(); i != log.rend(); ++i) {