From 811c38ed6bd7d11e196c848e19d6a46cc383d45d Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 26 May 2017 16:24:57 -0400 Subject: [PATCH] os/bluestore: fix fsck deferred_replay _deferred_replay needs the kv_sync_thread to complete IOs; start them just for that, but then shut them down again. (We might revisit that later if/when fsck does any sort of repair.) Signed-off-by: Sage Weil --- src/os/bluestore/BlueStore.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 087b5c37897ee..bbff5d607f29c 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5216,7 +5216,17 @@ int BlueStore::fsck(bool deep) mempool_thread.init(); + // we need finishrs and kv_sync_thread *just* for replay. + for (auto f : finishers) { + f->start(); + } + kv_sync_thread.create("bstore_kv_sync"); r = _deferred_replay(); + _kv_stop(); + for (auto f : finishers) { + f->wait_for_empty(); + f->stop(); + } if (r < 0) goto out_scan; -- 2.39.5