if (!ctx->concise)
*ctx->log << ceph_clock_now(g_ceph_context) << " " << pending_target << " <- " << pending_cmd << std::endl;
- messenger->send_message(m, osdmap->get_inst(n));
+ command_con = messenger->get_connection(osdmap->get_inst(n));
+ messenger->send_message(m, command_con);
}
return;
}
}
}
+bool Admin::ms_handle_reset(Connection *con)
+{
+ Mutex::Locker l(ctx->lock);
+ if (con == command_con) {
+ command_con->put();
+ command_con = NULL;
+ if (pending_cmd.size())
+ send_command(ctx);
+ return true;
+ }
+ return false;
+}
+
bool Admin::ms_get_authorizer(int dest_type, AuthAuthorizer **authorizer,
bool force_new)
{
bool ms_dispatch(Message *m);
void ms_handle_connect(Connection *con);
- bool ms_handle_reset(Connection *con) { return false; }
+ bool ms_handle_reset(Connection *con);
void ms_handle_remote_reset(Connection *con) {}
bool ms_get_authorizer(int dest_type, AuthAuthorizer **authorizer, bool force_new);