]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PGLog: only do slow extra_reqid search of object appears at least once 3503/head
authorSage Weil <sage@redhat.com>
Thu, 29 Jan 2015 18:14:04 +0000 (10:14 -0800)
committerSage Weil <sage@redhat.com>
Thu, 29 Jan 2015 19:29:51 +0000 (11:29 -0800)
Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PGLog.h

index d0b74d42db3c67f7cfb0edf6789157d69601e37b..0c8db5f2ea2450af2c912ea90ed17655747546aa 100644 (file)
@@ -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<osd_reqid_t> *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<pg_log_entry_t>::const_reverse_iterator i = log.rbegin();
            i != log.rend();
            ++i) {