From: Sage Weil Date: Wed, 30 Aug 2017 21:18:18 +0000 (-0400) Subject: os/bluestore: more deferred debugging X-Git-Tag: v13.0.1~994^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=11ac691dcc86aeed4ccb692a79ade4be04c5ef2f;p=ceph.git os/bluestore: more deferred debugging Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 68c8d0844e62..5cfd8a05914c 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -8638,9 +8638,16 @@ void BlueStore::deferred_try_submit() osrs.push_back(&osr); } for (auto& osr : osrs) { - if (osr->deferred_pending && !osr->deferred_running) { - _deferred_submit_unlock(osr.get()); - deferred_lock.lock(); + if (osr->deferred_pending) { + if (!osr->deferred_running) { + _deferred_submit_unlock(osr.get()); + deferred_lock.lock(); + } else { + dout(20) << __func__ << " osr " << osr << " already has running" + << dendl; + } + } else { + dout(20) << __func__ << " osr " << osr << " has no pending" << dendl; } } } @@ -8712,6 +8719,7 @@ void BlueStore::_deferred_aio_finish(OpSequencer *osr) assert(osr->deferred_running == b); osr->deferred_running = nullptr; if (!osr->deferred_pending) { + dout(20) << __func__ << " dequeueing" << dendl; auto q = deferred_queue.iterator_to(*osr); deferred_queue.erase(q); } else if (deferred_aggressive) { @@ -8719,6 +8727,8 @@ void BlueStore::_deferred_aio_finish(OpSequencer *osr) finishers[0]->queue(new FunctionContext([&](int) { deferred_try_submit(); })); + } else { + dout(20) << __func__ << " leaving queued, more pending" << dendl; } }