diff mbox

replication: Make --disable-replication compile again

Message ID 1493298053-17140-1-git-send-email-armbru@redhat.com
State New
Headers show

Commit Message

Markus Armbruster April 27, 2017, 1 p.m. UTC
Broken in commit daa33c5.

Cc: qemu-stable@nongnu.org
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 migration/colo.c | 12 ++++++++++++
 monitor.c        |  5 +++++
 2 files changed, 17 insertions(+)

Comments

Eric Blake April 27, 2017, 1:27 p.m. UTC | #1
On 04/27/2017 08:00 AM, Markus Armbruster wrote:
> Broken in commit daa33c5.
> 
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  migration/colo.c | 12 ++++++++++++
>  monitor.c        |  5 +++++
>  2 files changed, 17 insertions(+)

Reviewed-by: Eric Blake <eblake@redhat.com>
Zhang Chen April 27, 2017, 1:30 p.m. UTC | #2
On 04/27/2017 09:00 PM, Markus Armbruster wrote:
> Broken in commit daa33c5.
>
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Markus Armbruster <armbru@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.fnst@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
Markus Armbruster April 27, 2017, 2:07 p.m. UTC | #3
Zhang Chen <zhangchen.fnst@cn.fujitsu.com> writes:

> On 04/27/2017 09:00 PM, Markus Armbruster wrote:
>> Broken in commit daa33c5.
>>
>> Cc: qemu-stable@nongnu.org
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>
> About this bug I remember have discussed with paolo.
>
> https://lists.nongnu.org/archive/html/qemu-devel/2017-03/msg01326.html

If I understand that discussion correctly, it's about replacing
--enable-replication (and possibly other stuff) by --enable-colo.
Sounds fair to me, patches welcome.

> And about this patch content.
>
> Reviewed-by:Zhang Chen <zhangchen.fnst@cn.fujitsu.com>

Thanks!
Stefan Hajnoczi April 28, 2017, 3:59 p.m. UTC | #4
On Thu, Apr 27, 2017 at 03:00:53PM +0200, Markus Armbruster wrote:
> Broken in commit daa33c5.
> 
> Cc: qemu-stable@nongnu.org
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  migration/colo.c | 12 ++++++++++++
>  monitor.c        |  5 +++++
>  2 files changed, 17 insertions(+)

Thanks, applied to my staging tree:
https://github.com/stefanha/qemu/commits/staging

Stefan
diff mbox

Patch

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