From 65734ae92b68389ecee81c2c1658c986ad46ba1c Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Wed, 7 Aug 2024 20:05:09 -0700 Subject: [PATCH] crimson/.../alien_store: clear coll_map in umount rather than stop As of a926a4a54ced, BlueStore::umount expects outstanding CollectionRef's to already have been released. Previously, 8389471b3 updated alien_store.cc to release coll_map in stop() in in the alien tp. Fixes: https://tracker.ceph.com/issues/67415 Signed-off-by: Samuel Just --- src/crimson/os/alienstore/alien_store.cc | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/crimson/os/alienstore/alien_store.cc b/src/crimson/os/alienstore/alien_store.cc index 03359ed8024..21bb250e13f 100644 --- a/src/crimson/os/alienstore/alien_store.cc +++ b/src/crimson/os/alienstore/alien_store.cc @@ -128,13 +128,6 @@ seastar::future<> AlienStore::stop() return seastar::now(); } return tp->submit([this] { - { - std::lock_guard l(coll_map_lock); - for (auto [cid, ch]: coll_map) { - static_cast(ch.get())->collection.reset(); - } - coll_map.clear(); - } store.reset(); cct.reset(); g_ceph_context = nullptr; @@ -182,6 +175,13 @@ seastar::future<> AlienStore::umount() } return op_gate.close().then([this] { return tp->submit([this] { + { + std::lock_guard l(coll_map_lock); + for (auto [cid, ch]: coll_map) { + static_cast(ch.get())->collection.reset(); + } + coll_map.clear(); + } return store->umount(); }); }).then([] (int r) { -- 2.39.5