From 11ac691dcc86aeed4ccb692a79ade4be04c5ef2f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Wed, 30 Aug 2017 17:18:18 -0400 Subject: [PATCH] os/bluestore: more deferred debugging Signed-off-by: Sage Weil --- src/os/bluestore/BlueStore.cc | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) 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; } } -- 2.47.3