]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: more readability improvements 12015/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Wed, 16 Nov 2016 04:26:16 +0000 (12:26 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Wed, 16 Nov 2016 08:13:14 +0000 (16:13 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc

index ca886c607595c9f13c15c1ec2c9f0aff13ba7d9d..37e24107b7c99c31cde5f93108585870c9b77cae 100644 (file)
@@ -7524,19 +7524,16 @@ void BlueStore::_do_write_small(
   blp.copy(length, bl);
 
   // look for an existing mutable blob we can use
-  BlobRef b = 0;
-  boost::intrusive::set<Extent>::iterator ep =
-    o->extent_map.seek_lextent(offset);
+  auto ep = o->extent_map.seek_lextent(offset);
   if (ep != o->extent_map.extent_map.begin()) {
     --ep;
-    b = ep->blob;
-    if (ep->logical_offset - ep->blob_offset +
-      b->get_blob().get_ondisk_length() <= offset) {
+    if (ep->blob_end() <= offset) {
       ++ep;
     }
   }
+  BlobRef b;
   while (ep != o->extent_map.extent_map.end()) {
-    if (ep->logical_offset >= ep->blob_offset + end) {
+    if (ep->blob_start() >= end) {
       break;
     }
     b = ep->blob;
@@ -7551,7 +7548,7 @@ void BlueStore::_do_write_small(
       ++ep;
       continue;
     }
-    uint64_t bstart = ep->logical_offset - ep->blob_offset;
+    uint64_t bstart = ep->blob_start();
     dout(20) << __func__ << " considering " << *b
             << " bstart 0x" << std::hex << bstart << std::dec << dendl;
 
@@ -7992,7 +7989,7 @@ void BlueStore::_wctx_finish(
       }
     }
     delete &lo;
-    if (b->id >= 0 && b->get_ref_map().empty()) {
+    if (b->is_spanning() && b->get_ref_map().empty()) {
       dout(20) << __func__ << "  spanning_blob_map removing empty " << *b
               << dendl;
       auto it = o->extent_map.spanning_blob_map.find(b->id);