On 04/27/2017 09:00 PM, Markus Armbruster wrote:
Broken in commit daa33c5.

Cc: qemu-sta...@nongnu.org
Signed-off-by: Markus Armbruster <arm...@redhat.com>

About this bug I remember have discussed with paolo.

https://lists.nongnu.org/archive/html/qemu-devel/2017-03/msg01326.html

And about this patch content.

Reviewed-by:Zhang Chen <zhangchen.f...@cn.fujitsu.com>


Thanks
Zhang Chen


---
  migration/colo.c | 12 ++++++++++++
  monitor.c        |  5 +++++
  2 files changed, 17 insertions(+)

diff --git a/migration/colo.c b/migration/colo.c
index c19eb3f..963c802 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -153,6 +153,7 @@ void qmp_xen_set_replication(bool enable, bool primary,
                               bool has_failover, bool failover,
                               Error **errp)
  {
+#ifdef CONFIG_REPLICATION
      ReplicationMode mode = primary ?
                             REPLICATION_MODE_PRIMARY :
                             REPLICATION_MODE_SECONDARY;
@@ -171,10 +172,14 @@ void qmp_xen_set_replication(bool enable, bool primary,
          }
          replication_stop_all(failover, failover ? NULL : errp);
      }
+#else
+    abort();
+#endif
  }
ReplicationStatus *qmp_query_xen_replication_status(Error **errp)
  {
+#ifdef CONFIG_REPLICATION
      Error *err = NULL;
      ReplicationStatus *s = g_new0(ReplicationStatus, 1);
@@ -189,11 +194,18 @@ ReplicationStatus *qmp_query_xen_replication_status(Error **errp) error_free(err);
      return s;
+#else
+    abort();
+#endif
  }
void qmp_xen_colo_do_checkpoint(Error **errp)
  {
+#ifdef CONFIG_REPLICATION
      replication_do_checkpoint_all(errp);
+#else
+    abort();
+#endif
  }
static void colo_send_message(QEMUFile *f, COLOMessage msg,
diff --git a/monitor.c b/monitor.c
index 6289e52..62c9f81 100644
--- a/monitor.c
+++ b/monitor.c
@@ -974,6 +974,11 @@ static void qmp_unregister_commands_hack(void)
  #ifndef CONFIG_SPICE
      qmp_unregister_command(&qmp_commands, "query-spice");
  #endif
+#ifndef CONFIG_REPLICATION
+    qmp_unregister_command(&qmp_commands, "xen-set-replication");
+    qmp_unregister_command(&qmp_commands, "query-xen-replication-status");
+    qmp_unregister_command(&qmp_commands, "xen-colo-do-checkpoint");
+#endif
  #ifndef TARGET_I386
      qmp_unregister_command(&qmp_commands, "rtc-reset-reinjection");
  #endif

--
Thanks
Zhang Chen




Reply via email to