From: xie xingguo Date: Sat, 23 Jul 2016 03:11:10 +0000 (+0800) Subject: os/bluestore: check against underflow when adjust buffer size X-Git-Tag: ses5-milestone5~155^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=55f0a56d11b9a07f49e226999b825ce895a01917;p=ceph.git os/bluestore: check against underflow when adjust buffer size Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index d358571f9716..1dc4f690320a 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -739,7 +739,9 @@ void BlueStore::TwoQCache::trim(uint64_t onode_max, uint64_t buffer_max) Buffer *b = &*p; assert(b->is_clean()); dout(20) << __func__ << " buffer_warm_in -> out " << *b << dendl; + assert(buffer_bytes >= b->length); buffer_bytes -= b->length; + assert(buffer_list_bytes[BUFFER_WARM_IN] >= b->length); buffer_list_bytes[BUFFER_WARM_IN] -= b->length; to_evict_bytes -= b->length; evicted += b->length;