From 910e58011d6bf2b63527527fc0a50159c43d6c78 Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Fri, 26 May 2017 01:01:40 +0800 Subject: [PATCH] os/bluestore/BlueStore: Only call once notify_all. All txcs of deferred_running have the same osr, so only call once notify_call. Signed-off-by: Jianpeng Ma --- src/os/bluestore/BlueStore.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 72016d2317a9..087b5c37897e 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -8370,9 +8370,9 @@ void BlueStore::_deferred_aio_finish(OpSequencer *osr) for (auto& i : b->txcs) { TransContext *txc = &i; txc->state = TransContext::STATE_DEFERRED_CLEANUP; - txc->osr->qcond.notify_all(); costs += txc->cost; } + osr->qcond.notify_all(); throttle_deferred_bytes.put(costs); std::lock_guard l(kv_lock); deferred_done_queue.emplace_back(b); -- 2.47.3