]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: simplify BufferSpace::read() a little 9815/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Mon, 20 Jun 2016 12:16:33 +0000 (20:16 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Tue, 21 Jun 2016 13:35:45 +0000 (21:35 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc

index e5ed1083593228f5b81db60650b50fe9b1b58d9e..113a13253577830c71a4a6c8a2fdd6b9c0bf5b2a 100644 (file)
@@ -688,19 +688,17 @@ void BlueStore::BufferSpace::read(
        offset += gap;
        length -= gap;
       }
+      cache->_touch_buffer(b);
       if (b->length > length) {
-       uint64_t l = MIN(length, b->length);
-       res[offset].substr_of(b->data, 0, l);
-       res_intervals.insert(offset, l);
-       offset += l;
-       length -= l;
+       res[offset].substr_of(b->data, 0, length);
+       res_intervals.insert(offset, length);
+        break;
       } else {
        res[offset].append(b->data);
        res_intervals.insert(offset, b->length);
        offset += b->length;
        length -= b->length;
       }
-      cache->_touch_buffer(b);
     }
   }
 }