From: Jianpeng Ma Date: Thu, 16 Nov 2017 14:11:07 +0000 (+0800) Subject: os/bluestore: remove _reap_collection in umount. X-Git-Tag: v13.0.1~106^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ab4f797bfd3739e9722615abe8be57a7bd364c5e;p=ceph.git os/bluestore: remove _reap_collection in umount. Queue removed collections and reap removed collection in the same thread(_kv_finalize_thread). If this thread terminated and mean all removed collection handle. Unless expection, so add a assert. Signed-off-by: Jianpeng Ma --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 1a888d3b7c0..cd4513be7c4 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5522,7 +5522,6 @@ int BlueStore::umount() mempool_thread.shutdown(); dout(20) << __func__ << " stopping kv thread" << dendl; _kv_stop(); - _reap_collections(); _flush_cache(); dout(20) << __func__ << " closing" << dendl; @@ -8479,6 +8478,7 @@ void BlueStore::_kv_stop() } kv_sync_thread.join(); kv_finalize_thread.join(); + assert(removed_collections.empty()); { std::lock_guard l(kv_lock); kv_stop = false;