Skip to content

Commit 4413740

Browse files
authored
Merge pull request ceph#65177 from idryomov/wip-72692
mon/MonClient: post version request completions outside of monc_lock Reviewed-by: Casey Bodley <[email protected]> Reviewed-by: Adam Emerson <[email protected]>
2 parents 6adad75 + bd449f0 commit 4413740

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/mon/MonClient.cc

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -535,11 +535,11 @@ void MonClient::shutdown()
535535
monc_lock.lock();
536536
stopping = true;
537537
while (!version_requests.empty()) {
538-
asio::dispatch(
539-
asio::append(std::move(version_requests.begin()->second),
540-
make_error_code(monc_errc::shutting_down), 0, 0));
541538
ldout(cct, 20) << __func__ << " canceling and discarding version request "
542539
<< version_requests.begin()->first << dendl;
540+
asio::post(service.get_executor(),
541+
asio::append(std::move(version_requests.begin()->second),
542+
make_error_code(monc_errc::shutting_down), 0, 0));
543543
version_requests.erase(version_requests.begin());
544544
}
545545
while (!mon_commands.empty()) {
@@ -769,9 +769,11 @@ void MonClient::_reopen_session(int rank)
769769

770770
// throw out version check requests
771771
while (!version_requests.empty()) {
772-
asio::dispatch(asio::append(std::move(version_requests.begin()->second),
773-
make_error_code(monc_errc::session_reset),
774-
0, 0));
772+
ldout(cct, 20) << __func__ << " canceling and discarding version request "
773+
<< version_requests.begin()->first << dendl;
774+
asio::post(service.get_executor(),
775+
asio::append(std::move(version_requests.begin()->second),
776+
make_error_code(monc_errc::session_reset), 0, 0));
775777
version_requests.erase(version_requests.begin());
776778
}
777779

0 commit comments

Comments
 (0)