]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
os/bluestore: readability improvements to _do_clone_range()
authorxie xingguo <xie.xingguo@zte.com.cn>
Tue, 6 Dec 2016 05:50:20 +0000 (13:50 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Tue, 6 Dec 2016 05:50:20 +0000 (13:50 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc

index 5d892e52e130873a2c511112be0fb8d5cc584aee..89e3da15b55e28c7746f9deb1458fc1979bf68fe 100644 (file)
@@ -8651,11 +8651,12 @@ int BlueStore::_do_clone_range(
   }
   int n = 0;
   bool dirtied_oldo = false;
+  uint64_t end = srcoff + length;
   for (auto ep = oldo->extent_map.seek_lextent(srcoff);
        ep != oldo->extent_map.extent_map.end();
        ++ep) {
     auto& e = *ep;
-    if (e.logical_offset >= srcoff + length) {
+    if (e.logical_offset >= end) {
       break;
     }
     dout(20) << __func__ << "  src " << e << dendl;
@@ -8696,8 +8697,8 @@ int BlueStore::_do_clone_range(
     } else {
       skip_front = 0;
     }
-    if (e.logical_offset + e.length > srcoff + length) {
-      skip_back = e.logical_offset + e.length - (srcoff + length);
+    if (e.logical_end() > end) {
+      skip_back = e.logical_end() - end;
     } else {
       skip_back = 0;
     }