From 1d51e764500f519018f572282ef0a269914edfd4 Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Tue, 29 May 2018 14:23:41 -0500 Subject: [PATCH] os/bluestore: Fix potential uint64_t to int conversion issue. Signed-off-by: Mark Nelson --- src/os/bluestore/BlueStore.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 0d7a50e0389..67272a575aa 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -828,9 +828,10 @@ void BlueStore::LRUCache::_trim(uint64_t onode_max, uint64_t buffer_max) } // onodes - int num = onode_lru.size() - onode_max; - if (num <= 0) + if (onode_max >= onode_lru.size()) { return; // don't even try + } + uint64_t num = onode_lru.size() - onode_max; auto p = onode_lru.end(); assert(p != onode_lru.begin()); @@ -1124,9 +1125,10 @@ void BlueStore::TwoQCache::_trim(uint64_t onode_max, uint64_t buffer_max) } // onodes - int num = onode_lru.size() - onode_max; - if (num <= 0) + if (onode_max >= onode_lru.size()) { return; // don't even try + } + uint64_t num = onode_lru.size() - onode_max; auto p = onode_lru.end(); assert(p != onode_lru.begin()); -- 2.39.5