]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
fixing wrong length cal in BitmapFreelist 9166/head
authorRamesh Chander <Ramesh.Chander@sandisk.com>
Tue, 17 May 2016 09:51:25 +0000 (02:51 -0700)
committerRamesh Chander <Ramesh.Chander@sandisk.com>
Wed, 18 May 2016 06:13:19 +0000 (23:13 -0700)
Signed-off-by: Ramesh Chander <Ramesh.Chander@sandisk.com>
src/os/bluestore/BitmapFreelistManager.cc

index 93bd3f605a145a849b2c6f68c7a8b8688211dc21..82da2a552c5ae80309fbdfd34c0859e4c7b0f393 100644 (file)
@@ -276,6 +276,7 @@ bool BitmapFreelistManager::enumerate_next(uint64_t *offset, uint64_t *length)
                 << " offset " << end
                 << dendl;
        *length = end - *offset;
+       assert((*offset  + *length) <= size);
        dout(10) << __func__ << " " << *offset << "~" << *length << dendl;
        return true;
       }
@@ -295,9 +296,10 @@ bool BitmapFreelistManager::enumerate_next(uint64_t *offset, uint64_t *length)
 
   end = size;
   if (enumerate_offset < end) {
-    *length = end - enumerate_offset;
+    *length = end - *offset;
     dout(10) << __func__ << " " << *offset << "~" << *length << dendl;
     enumerate_offset = end;
+    assert((*offset  + *length) <= size);
     return true;
   }