mirror of
https://github.com/ceph/ceph
synced 2025-02-23 19:17:37 +00:00
Merge PR #33542 into master
* refs/pull/33542/head: mon/Monitor: fail forwarded tell commands Reviewed-by: Josh Durgin <jdurgin@redhat.com> Reviewed-by: Neha Ojha <nojha@redhat.com> Reviewed-by: João Eduardo Luís <joao@suse.de>
This commit is contained in:
commit
e21007cca7
@ -3235,6 +3235,19 @@ void Monitor::handle_command(MonOpRequestRef op)
|
||||
prefix == "smart" ||
|
||||
prefix == "mon_status" ||
|
||||
prefix == "heap")) {
|
||||
if (m->get_connection()->get_messenger() == 0) {
|
||||
// Prior to octopus, monitors might forward these messages
|
||||
// around. that was broken at baseline, and if we try to process
|
||||
// this message now, it will assert out when we try to send a
|
||||
// message in reply from the asok/tell worker (see
|
||||
// AnonConnection). Just reply with an error.
|
||||
dout(5) << __func__ << " failing forwarded command from a (presumably) "
|
||||
<< "pre-octopus peer" << dendl;
|
||||
reply_command(
|
||||
op, -EBUSY,
|
||||
"failing forwarded tell command in mixed-version mon cluster", 0);
|
||||
return;
|
||||
}
|
||||
dout(5) << __func__ << " passing command to tell/asok" << dendl;
|
||||
cct->get_admin_socket()->queue_tell_command(m);
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user