summaryrefslogtreecommitdiffstats
path: root/src/mon
diff options
context:
space:
mode:
authorJohn Spray <john.spray@redhat.com>2017-04-21 12:42:29 +0200
committerJohn Spray <john.spray@redhat.com>2017-04-21 12:46:57 +0200
commit0227ab7570c41383bf2e87eb98077f9bb0effdbc (patch)
tree53150453c3267f5e09361c35ba1c371a447866ff /src/mon
parentMerge pull request #14046 from songbaisen/m7 (diff)
downloadceph-0227ab7570c41383bf2e87eb98077f9bb0effdbc.tar.xz
ceph-0227ab7570c41383bf2e87eb98077f9bb0effdbc.zip
mon: don't call propose_pending in dispatch
This was happening indirectly because the command handling code was calling tick() as a shortcut to "promote something" and tick calls propose_pending because. Fixes: http://tracker.ceph.com/issues/19738 Signed-off-by: John Spray <john.spray@redhat.com>
Diffstat (limited to 'src/mon')
-rw-r--r--src/mon/MgrMonitor.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mon/MgrMonitor.cc b/src/mon/MgrMonitor.cc
index 29fd9a66f16..c00e7809d53 100644
--- a/src/mon/MgrMonitor.cc
+++ b/src/mon/MgrMonitor.cc
@@ -510,8 +510,8 @@ bool MgrMonitor::prepare_command(MonOpRequestRef op)
}
}
- if (changed) {
- tick();
+ if (changed && pending_map.active_gid == 0) {
+ promote_standby();
}
} else {
r = -ENOSYS;