From dc73ecc30585a01e634f612b9d54b687c648cd2a Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Mon, 20 Jun 2016 20:16:33 +0800 Subject: [PATCH] os/bluestore: simplify BufferSpace::read() a little Signed-off-by: xie xingguo --- src/os/bluestore/BlueStore.cc | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index e5ed108359322..113a132535778 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); } } } -- 2.39.5