]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: only submit deferred if there is any 16269/head
authorSage Weil <sage@redhat.com>
Tue, 11 Jul 2017 19:21:01 +0000 (15:21 -0400)
committerSage Weil <sage@redhat.com>
Tue, 11 Jul 2017 19:21:01 +0000 (15:21 -0400)
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 <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index 6c3cb7ceae678b65d2dccc61db04112e49b38be0..bcde658b05ab20d1fe6d05c874ff22cfc906bb8b 100644 (file)
@@ -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();
     }