]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: remove _reap_collection in umount.
authorJianpeng Ma <jianpeng.ma@intel.com>
Thu, 16 Nov 2017 14:11:07 +0000 (22:11 +0800)
committerIgor Fedotov <ifedotov@suse.com>
Tue, 20 Mar 2018 12:50:49 +0000 (15:50 +0300)
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 <jianpeng.ma@intel.com>
(cherry picked from commit ab4f797bfd3739e9722615abe8be57a7bd364c5e)

src/os/bluestore/BlueStore.cc

index 6c4295e059ee3cbbf0896f2e8e2227942a2fdf0b..9aaca0c1d54c54a881eb2eb79ed5690c91ab0d78 100644 (file)
@@ -5499,7 +5499,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;
 
@@ -8425,6 +8424,7 @@ void BlueStore::_kv_stop()
   }
   kv_sync_thread.join();
   kv_finalize_thread.join();
+  assert(removed_collections.empty());
   {
     std::lock_guard<std::mutex> l(kv_lock);
     kv_stop = false;