From: xie xingguo Date: Mon, 20 Jun 2016 12:16:33 +0000 (+0800) Subject: os/bluestore: simplify BufferSpace::read() a little X-Git-Tag: v11.0.0~97^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F9815%2Fhead;p=ceph.git os/bluestore: simplify BufferSpace::read() a little Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index e5ed10835932..113a13253577 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -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); } } }