Skip to content

Commit 65734ae

Browse files
committed
crimson/.../alien_store: clear coll_map in umount rather than stop
As of a926a4a, BlueStore::umount expects outstanding CollectionRef's to already have been released. Previously, 8389471 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 <[email protected]>
1 parent a2f85f0 commit 65734ae

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

src/crimson/os/alienstore/alien_store.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,6 @@ seastar::future<> AlienStore::stop()
128128
return seastar::now();
129129
}
130130
return tp->submit([this] {
131-
{
132-
std::lock_guard l(coll_map_lock);
133-
for (auto [cid, ch]: coll_map) {
134-
static_cast<AlienCollection*>(ch.get())->collection.reset();
135-
}
136-
coll_map.clear();
137-
}
138131
store.reset();
139132
cct.reset();
140133
g_ceph_context = nullptr;
@@ -182,6 +175,13 @@ seastar::future<> AlienStore::umount()
182175
}
183176
return op_gate.close().then([this] {
184177
return tp->submit([this] {
178+
{
179+
std::lock_guard l(coll_map_lock);
180+
for (auto [cid, ch]: coll_map) {
181+
static_cast<AlienCollection*>(ch.get())->collection.reset();
182+
}
183+
coll_map.clear();
184+
}
185185
return store->umount();
186186
});
187187
}).then([] (int r) {

0 commit comments

Comments
 (0)