]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore/BlueStore: fix _do_read
authorSage Weil <sage@redhat.com>
Thu, 10 Dec 2015 21:22:02 +0000 (16:22 -0500)
committerSage Weil <sage@redhat.com>
Fri, 1 Jan 2016 18:06:53 +0000 (13:06 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index 661d3906f4a0122834ac9cab3b1a525e6c08a998..6523e88757bce8b392e47cbf5cbc3233396387b8 100644 (file)
@@ -1772,7 +1772,7 @@ int BlueStore::_do_read(
     // extent?
     if (bp != bend && bp->first <= offset) {
       uint64_t x_off = offset - bp->first;
-      x_len = MIN(x_len, bp->second.length);
+      x_len = MIN(x_len, bp->second.length - x_off);
       if (!bp->second.has_flag(extent_t::FLAG_UNWRITTEN)) {
        dout(30) << __func__ << " data " << bp->first << ": " << bp->second
                 << " use " << x_off << "~" << x_len