]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: check against underflow when adjust buffer size
authorxie xingguo <xie.xingguo@zte.com.cn>
Sat, 23 Jul 2016 03:11:10 +0000 (11:11 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Fri, 29 Jul 2016 03:13:48 +0000 (11:13 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc

index d358571f9716c47628648454ec7d64144d291e29..1dc4f690320a634f03b7f780539065593892997f 100644 (file)
@@ -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;