From: Igor Fedotov Date: Tue, 23 Aug 2022 17:21:48 +0000 (+0300) Subject: os/bluestore: do not call allocator's release on empty set X-Git-Tag: v19.0.0~207^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=36961d644ce11e89c789e9112e9f3702f8580829;p=ceph.git os/bluestore: do not call allocator's release on empty set Signed-off-by: Igor Fedotov --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 33d1d998308..33eb0943c0a 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -13055,7 +13055,8 @@ void BlueStore::_txc_release_alloc(TransContext *txc) { bool discard_queued = false; // it's expected we're called with lazy_release_lock already taken! - if (unlikely(cct->_conf->bluestore_debug_no_reuse_blocks)) { + if (unlikely(cct->_conf->bluestore_debug_no_reuse_blocks || + txc->released.size() == 0)) { goto out; } discard_queued = bdev->try_discard(txc->released);