mon/MDSMonitor: respect MDSMAP_DOWN when promoting standbys

Previously, a standby could become active even if 'cluster_down'
had been run.  This was awkward, because it would get you a
"laggy or crashed" mds for the standby that was actually
up and running, just being ignored because of cluster_down.

Signed-off-by: John Spray <john.spray@redhat.com>
This commit is contained in:
John Spray 2015-01-07 11:47:34 +00:00
parent 6fd348fe43
commit c400ba1e26

View File

@ -1721,7 +1721,7 @@ void MDSMonitor::tick()
// have a standby take over?
set<mds_rank_t> failed;
pending_mdsmap.get_failed_mds_set(failed);
if (!failed.empty()) {
if (!failed.empty() && !pending_mdsmap.test_flag(CEPH_MDSMAP_DOWN)) {
set<mds_rank_t>::iterator p = failed.begin();
while (p != failed.end()) {
mds_rank_t f = *p++;