From 8cacf28ebbcb535d79e661a08fdcd3376904e09b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 11 Jul 2017 15:21:01 -0400 Subject: [PATCH] os/bluestore: only submit deferred if there is any We drop the lock, so it's possible another thread submits the pending. (_deferred_submit_unlock assumes osr->deferred_pending != nullptr.) Signed-off-by: Sage Weil --- src/os/bluestore/BlueStore.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 6c3cb7ceae678..bcde658b05ab2 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -8599,7 +8599,7 @@ void BlueStore::deferred_try_submit() osrs.push_back(&osr); } for (auto& osr : osrs) { - if (!osr->deferred_running) { + if (osr->deferred_pending && !osr->deferred_running) { _deferred_submit_unlock(osr.get()); deferred_lock.lock(); } -- 2.39.5