}
// send mdsmap first?
+ auto addrs = mdsmap->get_addrs(mds);
if (mds != whoami && peer_mdsmap_epoch[mds] < mdsmap->get_epoch()) {
auto _m = make_message<MMDSMap>(monc->get_fsid(), *mdsmap);
- messenger->send_to_mds(_m.detach(), mdsmap->get_addrs(mds));
+ send_message_mds(_m, addrs);
peer_mdsmap_epoch[mds] = mdsmap->get_epoch();
}
// send message
- messenger->send_to_mds(ref_t<Message>(m).detach(), mdsmap->get_addrs(mds));
+ send_message_mds(m, addrs);
+}
+
+void MDSRank::send_message_mds(const ref_t<Message>& m, const entity_addrvec_t &addr)
+{
+ messenger->send_to_mds(ref_t<Message>(m).detach(), addr);
}
void MDSRank::forward_message_mds(const cref_t<MClientRequest>& m, mds_rank_t mds)
double get_dispatch_queue_max_age(utime_t now) const;
void send_message_mds(const ref_t<Message>& m, mds_rank_t mds);
+ void send_message_mds(const ref_t<Message>& m, const entity_addrvec_t &addr);
void forward_message_mds(const cref_t<MClientRequest>& req, mds_rank_t mds);
void send_message_client_counted(const ref_t<Message>& m, client_t client);
void send_message_client_counted(const ref_t<Message>& m, Session* session);