From d274df7481bc4329ac04c9a25034bfc37d72eed2 Mon Sep 17 00:00:00 2001 From: Song Baisen Date: Wed, 22 Jun 2016 16:30:46 +0800 Subject: [PATCH] mon: PGMonitor add check only concern our self cluster command we only concern the command send to our self cluster Signed-off-by:song baisen --- src/mon/PGMonitor.cc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/mon/PGMonitor.cc b/src/mon/PGMonitor.cc index 4ed4a0d9290..2021e7574e3 100644 --- a/src/mon/PGMonitor.cc +++ b/src/mon/PGMonitor.cc @@ -699,6 +699,12 @@ bool PGMonitor::preprocess_pg_stats(MonOpRequestRef op) return true; } + if (stats->fsid != mon->monmap->fsid) { + dout(0) << __func__ << " drop message on fsid " << stats->fsid << " != " + << mon->monmap->fsid << " for " << *stats << dendl; + return true; + } + // First, just see if they need a new osdmap. But // only if they've had the map for a while. if (stats->had_map_for > 30.0 && @@ -1612,6 +1618,12 @@ bool PGMonitor::preprocess_command(MonOpRequestRef op) stringstream ss, ds; bool primary = false; + if (m->fsid != mon->monmap->fsid) { + dout(0) << __func__ << " drop message on fsid " << m->fsid << " != " + << mon->monmap->fsid << " for " << *m << dendl; + return true; + } + map cmdmap; if (!cmdmap_from_json(m->cmd, &cmdmap, ss)) { // ss has reason for failure @@ -1927,6 +1939,11 @@ bool PGMonitor::prepare_command(MonOpRequestRef op) { op->mark_pgmon_event(__func__); MMonCommand *m = static_cast(op->get_req()); + if (m->fsid != mon->monmap->fsid) { + dout(0) << __func__ << " drop message on fsid " << m->fsid << " != " + << mon->monmap->fsid << " for " << *m << dendl; + return true; + } stringstream ss; pg_t pgid; epoch_t epoch = mon->osdmon()->osdmap.get_epoch();