From d6378f24b09c7b2a105a333cb386684db0151011 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 22 Mar 2010 09:14:36 -0700 Subject: [PATCH] mds: re-send, do not forward, mds messages --- src/mds/MDS.cc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mds/MDS.cc b/src/mds/MDS.cc index f62d58ea17b26..584609bb5e8e0 100644 --- a/src/mds/MDS.cc +++ b/src/mds/MDS.cc @@ -348,6 +348,12 @@ void MDS::forward_message_mds(Message *m, int mds) } } + // these are the only types of messages we should be 'forwarding'; they + // explicitly encode their source mds, which gets clobbered when we resend + // them here. + assert(m->get_type() == MSG_MDS_DIRUPDATE || + m->get_type() == MSG_MDS_EXPORTDIRDISCOVER); + // send mdsmap first? if (peer_mdsmap_epoch[mds] < mdsmap->get_epoch()) { messenger->send_message(new MMDSMap(monc->get_fsid(), mdsmap), @@ -355,7 +361,7 @@ void MDS::forward_message_mds(Message *m, int mds) peer_mdsmap_epoch[mds] = mdsmap->get_epoch(); } - messenger->forward_message(m, mdsmap->get_inst(mds)); + messenger->send_message(m, mdsmap->get_inst(mds)); } -- 2.39.5