summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-11-20 14:07:16 -0800
committerSage Weil <sage@newdream.net>2009-11-20 14:07:16 -0800
commitbf3cd2803cd449a968527e2f5932d1309f38f739 (patch)
treefe49bb9d9af0199ad694ba98d55833267ed28113
parenta7e5be7aa542381d305eb0d6ee88f221e72cfff7 (diff)
downloadceph-bf3cd2803cd449a968527e2f5932d1309f38f739.tar.gz
mon: fix use-after-free in mds mon blacklisting
-rw-r--r--src/mon/MDSMonitor.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc
index a9f52b65af7..8e7008139ea 100644
--- a/src/mon/MDSMonitor.cc
+++ b/src/mon/MDSMonitor.cc
@@ -664,7 +664,6 @@ void MDSMonitor::tick()
pending_mdsmap.up[info.rank] = sgid;
pending_mdsmap.last_failure = pending_mdsmap.epoch;
}
- pending_mdsmap.mds_info.erase(gid);
if (si.state > 0) {
// blacklist
@@ -673,6 +672,7 @@ void MDSMonitor::tick()
mon->osdmon()->blacklist(info.addr, until);
propose_osdmap = true;
}
+ pending_mdsmap.mds_info.erase(gid);
do_propose = true;
} else if (info.state == MDSMap::STATE_STANDBY_REPLAY) {