]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/newstore: use lower_bound for finding overlay extents in map
authorSage Weil <sage@redhat.com>
Thu, 9 Apr 2015 17:52:06 +0000 (10:52 -0700)
committerSage Weil <sage@redhat.com>
Tue, 1 Sep 2015 17:39:36 +0000 (13:39 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/newstore/NewStore.cc

index 689415c571b270105842afef9a3c8d29a52d8554..0fead936b2c25d60b9f87a0713bc483b3c844409 100644 (file)
@@ -1198,12 +1198,12 @@ int NewStore::_do_read(
 
   // loop over overlays and data fragments.  overlays take precedence.
   fend = o->onode.data_map.end();
-  fp = o->onode.data_map.begin();   // fixme
+  fp = o->onode.data_map.lower_bound(offset);
   if (fp != o->onode.data_map.begin()) {
     --fp;
   }
   oend = o->onode.overlay_map.end();
-  op = o->onode.overlay_map.begin(); // fixme
+  op = o->onode.overlay_map.lower_bound(offset);
   if (op != o->onode.overlay_map.begin()) {
     --op;
   }
@@ -2819,7 +2819,8 @@ int NewStore::_do_overlay_trim(TransContext *txc,
   dout(10) << __func__ << " " << o->oid << " "
           << offset << "~" << length << dendl;
 
-  map<uint64_t,overlay_t>::iterator p = o->onode.overlay_map.begin(); // fixme
+  map<uint64_t,overlay_t>::iterator p =
+    o->onode.overlay_map.lower_bound(offset);
   if (p != o->onode.overlay_map.begin()) {
     --p;
   }