From 6159a692d98e2316b65038e7e2ae0476f6f2ea53 Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Wed, 20 Jan 2021 22:57:15 +0300 Subject: [PATCH] os/bluestore: be more protective in _deferred_queue Signed-off-by: Igor Fedotov --- src/os/bluestore/BlueStore.cc | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 34afd92c390e1..0ef42cf0e3466 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -12268,13 +12268,10 @@ void BlueStore::_deferred_queue(TransContext *txc) dout(20) << __func__ << " txc " << txc << " osr " << txc->osr << dendl; DeferredBatch *tmp; - bool need_lock_again = false; txc->osr->deferred_lock.lock(); { if (!txc->osr->deferred_pending) { tmp = new DeferredBatch(cct, txc->osr.get()); - txc->osr->deferred_lock.unlock(); - need_lock_again = true; } else { tmp = txc->osr->deferred_pending; } @@ -12292,9 +12289,6 @@ void BlueStore::_deferred_queue(TransContext *txc) } { - if (need_lock_again) { - txc->osr->deferred_lock.lock(); - } ++deferred_queue_size; txc->osr->deferred_pending = tmp; // condition "tmp->txcs.size() == 1" mean deferred_pending was originally empty. -- 2.39.5