From: Jianpeng Ma Date: Mon, 11 Sep 2017 13:55:11 +0000 (+0800) Subject: os/bluestore/BlueStore: narrow deferred_lock in _deferred_submit_unlock. X-Git-Tag: v13.0.1~922^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2ea9a9e0d53aabfee2c022703be91b5ef91c3a90;p=ceph-ci.git os/bluestore/BlueStore: narrow deferred_lock in _deferred_submit_unlock. Signed-off-by: Jianpeng Ma --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 868c0f6a4db..834559323b6 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); }