From: Mark Nelson Date: Tue, 29 May 2018 19:23:41 +0000 (-0500) Subject: os/bluestore: Fix potential uint64_t to int conversion issue. X-Git-Tag: v13.2.3~4^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=421d378a69e205a5f65364e92af88e08a0b716ee;p=ceph.git os/bluestore: Fix potential uint64_t to int conversion issue. Signed-off-by: Mark Nelson (cherry picked from commit 1d51e764500f519018f572282ef0a269914edfd4) --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 9335dc0daa2d..e3016889317c 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -827,9 +827,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(); ceph_assert(p != onode_lru.begin()); @@ -1123,9 +1124,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(); ceph_assert(p != onode_lru.begin());