[Qemu-devel] [PATCH] replication: Make --disable-replication compile again

Markus Armbruster posted 1 patch 6 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/1493298053-17140-1-git-send-email-armbru@redhat.com
Test checkpatch passed
Test docker passed
Test s390x passed
migration/colo.c | 12 ++++++++++++
monitor.c        |  5 +++++
2 files changed, 17 insertions(+)
[Qemu-devel] [PATCH] replication: Make --disable-replication compile again
Posted by Markus Armbruster 6 years, 11 months ago
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(+)

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
-- 
2.7.4


Re: [Qemu-devel] [PATCH] replication: Make --disable-replication compile again
Posted by Eric Blake 6 years, 11 months ago
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>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Re: [Qemu-devel] [PATCH] replication: Make --disable-replication compile again
Posted by Zhang Chen 6 years, 11 months ago

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

-- 
Thanks
Zhang Chen




Re: [Qemu-devel] [PATCH] replication: Make --disable-replication compile again
Posted by Stefan Hajnoczi 6 years, 11 months ago
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