]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/MonmapMonitor: wait for commit before reply
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 28 Mar 2023 14:06:35 +0000 (10:06 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Fri, 21 Jul 2023 14:13:37 +0000 (10:13 -0400)
If the monmap is changed, do not reply to command until committed!

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mon/MonmapMonitor.cc

index d162b8e9414cf798228ba44b898bb6d124693abf..3d77ab6b3a5f0d5f928563bb8cd6867970bba9d1 100644 (file)
@@ -1212,8 +1212,11 @@ bool MonmapMonitor::prepare_command(MonOpRequestRef op)
 
 reply:
   getline(ss, rs);
-  mon.reply_command(op, err, rs, get_last_committed());
-  // we are returning to the user; do not propose.
+  if (propose) {
+    wait_for_commit(op, new Monitor::C_Command(mon, op, err, rs, get_last_committed() + 1));
+  } else {
+    mon.reply_command(op, err, rs, get_last_committed());
+  }
   return propose;
 }