]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: pre-calculate number of ghost buffers to evict 15029/head
authorxie xingguo <xie.xingguo@zte.com.cn>
Wed, 10 May 2017 11:01:49 +0000 (19:01 +0800)
committerxie xingguo <xie.xingguo@zte.com.cn>
Wed, 10 May 2017 11:01:49 +0000 (19:01 +0800)
Signed-off-by: xie xingguo <xie.xingguo@zte.com.cn>
src/os/bluestore/BlueStore.cc

index ee8a5042d5390a67feefffd32fe3022e2d38f57e..8197cbad759f8b080280e55c6e8e690104d53a21 100644 (file)
@@ -1134,7 +1134,8 @@ void BlueStore::TwoQCache::_trim(uint64_t onode_max, uint64_t buffer_max)
     }
 
     // adjust warm out list too, if necessary
-    while (buffer_warm_out.size() > kout) {
+    int64_t num = buffer_warm_out.size() - kout;
+    while (num-- > 0) {
       Buffer *b = &*buffer_warm_out.rbegin();
       assert(b->is_empty());
       dout(20) << __func__ << " buffer_warm_out rm " << *b << dendl;