From 2ea9a9e0d53aabfee2c022703be91b5ef91c3a90 Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Mon, 11 Sep 2017 21:55:11 +0800 Subject: [PATCH] os/bluestore/BlueStore: narrow deferred_lock in _deferred_submit_unlock. Signed-off-by: Jianpeng Ma --- src/os/bluestore/BlueStore.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 868c0f6a4db9e..834559323b6e3 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -8669,15 +8669,17 @@ void BlueStore::_deferred_submit_unlock(OpSequencer *osr) assert(!osr->deferred_running); auto b = osr->deferred_pending; - for (auto& txc : b->txcs) { - txc.log_state_latency(logger, l_bluestore_state_deferred_queued_lat); - } deferred_queue_size -= b->seq_bytes.size(); assert(deferred_queue_size >= 0); osr->deferred_running = osr->deferred_pending; osr->deferred_pending = nullptr; + deferred_lock.unlock(); + + for (auto& txc : b->txcs) { + txc.log_state_latency(logger, l_bluestore_state_deferred_queued_lat); + } uint64_t start = 0, pos = 0; bufferlist bl; auto i = b->iomap.begin(); @@ -8712,7 +8714,6 @@ void BlueStore::_deferred_submit_unlock(OpSequencer *osr) ++i; } - deferred_lock.unlock(); bdev->aio_submit(&b->ioc); } -- 2.39.5