All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
@ 2018-11-01  2:12 Zhang Chen
  2018-11-05 10:02 ` Thomas Huth
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Zhang Chen @ 2018-11-01  2:12 UTC (permalink / raw)
  To: qemu-devel, zhanghailiang, Dr. David Alan Gilbert; +Cc: Zhang Chen, Thomas Huth

This compilation issue will occur when user use --disable-replication
to config Qemu.

Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Zhang Chen <zhangckid@gmail.com>
---
 migration/colo.c | 28 +++++++++++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)

diff --git a/migration/colo.c b/migration/colo.c
index 956ac236b7..fcff04c78c 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -59,6 +59,8 @@ static bool colo_runstate_is_stopped(void)
 
 static void secondary_vm_do_failover(void)
 {
+/* COLO needs enable block-replication */
+#ifdef CONFIG_REPLICATION
     int old_state;
     MigrationIncomingState *mis = migration_incoming_get_current();
     Error *local_err = NULL;
@@ -121,10 +123,14 @@ static void secondary_vm_do_failover(void)
     if (mis->migration_incoming_co) {
         qemu_coroutine_enter(mis->migration_incoming_co);
     }
+#else
+    abort();
+#endif
 }
 
 static void primary_vm_do_failover(void)
 {
+#ifdef CONFIG_REPLICATION
     MigrationState *s = migrate_get_current();
     int old_state;
     Error *local_err = NULL;
@@ -165,6 +171,9 @@ static void primary_vm_do_failover(void)
 
     /* Notify COLO thread that failover work is finished */
     qemu_sem_post(&s->colo_exit_sem);
+#else
+    abort();
+#endif
 }
 
 COLOMode get_colo_mode(void)
@@ -415,11 +424,16 @@ static int colo_do_checkpoint_transaction(MigrationState *s,
     /* Disable block migration */
     migrate_set_block_enabled(false, &local_err);
     qemu_mutex_lock_iothread();
+
+#ifdef CONFIG_REPLICATION
     replication_do_checkpoint_all(&local_err);
     if (local_err) {
         qemu_mutex_unlock_iothread();
         goto out;
     }
+#else
+        abort();
+#endif
 
     colo_send_message(s->to_dst_file, COLO_MESSAGE_VMSTATE_SEND, &local_err);
     if (local_err) {
@@ -523,11 +537,15 @@ static void colo_process_checkpoint(MigrationState *s)
     object_unref(OBJECT(bioc));
 
     qemu_mutex_lock_iothread();
+#ifdef CONFIG_REPLICATION
     replication_start_all(REPLICATION_MODE_PRIMARY, &local_err);
     if (local_err) {
         qemu_mutex_unlock_iothread();
         goto out;
     }
+#else
+        abort();
+#endif
 
     vm_start();
     qemu_mutex_unlock_iothread();
@@ -690,11 +708,15 @@ void *colo_process_incoming_thread(void *opaque)
     object_unref(OBJECT(bioc));
 
     qemu_mutex_lock_iothread();
+#ifdef CONFIG_REPLICATION
     replication_start_all(REPLICATION_MODE_SECONDARY, &local_err);
     if (local_err) {
         qemu_mutex_unlock_iothread();
         goto out;
     }
+#else
+        abort();
+#endif
     vm_start();
     trace_colo_vm_state_change("stop", "run");
     qemu_mutex_unlock_iothread();
@@ -785,18 +807,22 @@ void *colo_process_incoming_thread(void *opaque)
             goto out;
         }
 
+#ifdef CONFIG_REPLICATION
         replication_get_error_all(&local_err);
         if (local_err) {
             qemu_mutex_unlock_iothread();
             goto out;
         }
+
         /* discard colo disk buffer */
         replication_do_checkpoint_all(&local_err);
         if (local_err) {
             qemu_mutex_unlock_iothread();
             goto out;
         }
-
+#else
+        abort();
+#endif
         /* Notify all filters of all NIC to do checkpoint */
         colo_notify_filters_event(COLO_EVENT_CHECKPOINT, &local_err);
 
-- 
2.17.1

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-01  2:12 [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication Zhang Chen
@ 2018-11-05 10:02 ` Thomas Huth
  2018-11-06  6:44   ` Zhang Chen
  2018-11-14 10:47 ` Peter Xu
  2018-11-21 11:21 ` Dr. David Alan Gilbert
  2 siblings, 1 reply; 11+ messages in thread
From: Thomas Huth @ 2018-11-05 10:02 UTC (permalink / raw)
  To: Zhang Chen, qemu-devel, zhanghailiang, Dr. David Alan Gilbert
  Cc: Juan Quintela

On 2018-11-01 03:12, Zhang Chen wrote:
> This compilation issue will occur when user use --disable-replication
> to config Qemu.
> 
> Reported-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Zhang Chen <zhangckid@gmail.com>
> ---
>  migration/colo.c | 28 +++++++++++++++++++++++++++-
>  1 file changed, 27 insertions(+), 1 deletion(-)

Thanks, this fixes the compilation problem with --disable-replication
for me:

Tested-by: Thomas Huth <thuth@redhat.com>

BTW, if colo can't be used without CONFIG_REPLICATION, would it make
sense to disable the related objects (for the "--object" parameter) in
an additional patch, too? Something like this (untested):

diff --git a/net/Makefile.objs b/net/Makefile.objs
--- a/net/Makefile.objs
+++ b/net/Makefile.objs
@@ -10,7 +10,7 @@ common-obj-$(CONFIG_NETMAP) += netmap.o
 common-obj-y += filter.o
 common-obj-y += filter-buffer.o
 common-obj-y += filter-mirror.o
-common-obj-y += colo-compare.o
+common-obj-$(CONFIG_REPLICATION) += colo-compare.o
 common-obj-y += colo.o
 common-obj-y += filter-rewriter.o
 common-obj-y += filter-replay.o

  Thomas

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-05 10:02 ` Thomas Huth
@ 2018-11-06  6:44   ` Zhang Chen
  0 siblings, 0 replies; 11+ messages in thread
From: Zhang Chen @ 2018-11-06  6:44 UTC (permalink / raw)
  To: Thomas Huth
  Cc: qemu-devel, zhang.zhanghailiang, Dr . David Alan Gilbert, Juan Quintela

On Mon, Nov 5, 2018 at 6:02 PM Thomas Huth <thuth@redhat.com> wrote:

> On 2018-11-01 03:12, Zhang Chen wrote:
> > This compilation issue will occur when user use --disable-replication
> > to config Qemu.
> >
> > Reported-by: Thomas Huth <thuth@redhat.com>
> > Signed-off-by: Zhang Chen <zhangckid@gmail.com>
> > ---
> >  migration/colo.c | 28 +++++++++++++++++++++++++++-
> >  1 file changed, 27 insertions(+), 1 deletion(-)
>
> Thanks, this fixes the compilation problem with --disable-replication
> for me:
>
> Tested-by: Thomas Huth <thuth@redhat.com>
>
> BTW, if colo can't be used without CONFIG_REPLICATION, would it make
> sense to disable the related objects (for the "--object" parameter) in
> an additional patch, too? Something like this (untested):
>

Hi Thomas,

Yes, you are right. current COLO project need work with replication, but in
the future we will develop COLO shared disk mode,
In this mode COLO-compare maybe not depend on replication. So I think we
can keep the independence of the two modules.

Thanks
Zhang Chen


>
> diff --git a/net/Makefile.objs b/net/Makefile.objs
> --- a/net/Makefile.objs
> +++ b/net/Makefile.objs
> @@ -10,7 +10,7 @@ common-obj-$(CONFIG_NETMAP) += netmap.o
>  common-obj-y += filter.o
>  common-obj-y += filter-buffer.o
>  common-obj-y += filter-mirror.o
> -common-obj-y += colo-compare.o
> +common-obj-$(CONFIG_REPLICATION) += colo-compare.o
>  common-obj-y += colo.o
>  common-obj-y += filter-rewriter.o
>  common-obj-y += filter-replay.o
>
>   Thomas
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-01  2:12 [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication Zhang Chen
  2018-11-05 10:02 ` Thomas Huth
@ 2018-11-14 10:47 ` Peter Xu
  2018-11-14 11:06   ` Thomas Huth
  2018-11-21 11:21 ` Dr. David Alan Gilbert
  2 siblings, 1 reply; 11+ messages in thread
From: Peter Xu @ 2018-11-14 10:47 UTC (permalink / raw)
  To: Zhang Chen; +Cc: qemu-devel, zhanghailiang, Dr. David Alan Gilbert, Thomas Huth

On Thu, Nov 01, 2018 at 10:12:26AM +0800, Zhang Chen wrote:
> This compilation issue will occur when user use --disable-replication
> to config Qemu.
> 
> Reported-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Zhang Chen <zhangckid@gmail.com>

Hi,

How's the status of this patch?  Are we gonna merge it for 3.1?

I just posted a similar one without knowing this (until Dave pointed
it out).  IMHO it can be a good candidate for 3.1.

Thanks,

> ---
>  migration/colo.c | 28 +++++++++++++++++++++++++++-
>  1 file changed, 27 insertions(+), 1 deletion(-)
> 
> diff --git a/migration/colo.c b/migration/colo.c
> index 956ac236b7..fcff04c78c 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -59,6 +59,8 @@ static bool colo_runstate_is_stopped(void)
>  
>  static void secondary_vm_do_failover(void)
>  {
> +/* COLO needs enable block-replication */
> +#ifdef CONFIG_REPLICATION
>      int old_state;
>      MigrationIncomingState *mis = migration_incoming_get_current();
>      Error *local_err = NULL;
> @@ -121,10 +123,14 @@ static void secondary_vm_do_failover(void)
>      if (mis->migration_incoming_co) {
>          qemu_coroutine_enter(mis->migration_incoming_co);
>      }
> +#else
> +    abort();
> +#endif
>  }
>  
>  static void primary_vm_do_failover(void)
>  {
> +#ifdef CONFIG_REPLICATION
>      MigrationState *s = migrate_get_current();
>      int old_state;
>      Error *local_err = NULL;
> @@ -165,6 +171,9 @@ static void primary_vm_do_failover(void)
>  
>      /* Notify COLO thread that failover work is finished */
>      qemu_sem_post(&s->colo_exit_sem);
> +#else
> +    abort();
> +#endif
>  }
>  
>  COLOMode get_colo_mode(void)
> @@ -415,11 +424,16 @@ static int colo_do_checkpoint_transaction(MigrationState *s,
>      /* Disable block migration */
>      migrate_set_block_enabled(false, &local_err);
>      qemu_mutex_lock_iothread();
> +
> +#ifdef CONFIG_REPLICATION
>      replication_do_checkpoint_all(&local_err);
>      if (local_err) {
>          qemu_mutex_unlock_iothread();
>          goto out;
>      }
> +#else
> +        abort();
> +#endif
>  
>      colo_send_message(s->to_dst_file, COLO_MESSAGE_VMSTATE_SEND, &local_err);
>      if (local_err) {
> @@ -523,11 +537,15 @@ static void colo_process_checkpoint(MigrationState *s)
>      object_unref(OBJECT(bioc));
>  
>      qemu_mutex_lock_iothread();
> +#ifdef CONFIG_REPLICATION
>      replication_start_all(REPLICATION_MODE_PRIMARY, &local_err);
>      if (local_err) {
>          qemu_mutex_unlock_iothread();
>          goto out;
>      }
> +#else
> +        abort();
> +#endif
>  
>      vm_start();
>      qemu_mutex_unlock_iothread();
> @@ -690,11 +708,15 @@ void *colo_process_incoming_thread(void *opaque)
>      object_unref(OBJECT(bioc));
>  
>      qemu_mutex_lock_iothread();
> +#ifdef CONFIG_REPLICATION
>      replication_start_all(REPLICATION_MODE_SECONDARY, &local_err);
>      if (local_err) {
>          qemu_mutex_unlock_iothread();
>          goto out;
>      }
> +#else
> +        abort();
> +#endif
>      vm_start();
>      trace_colo_vm_state_change("stop", "run");
>      qemu_mutex_unlock_iothread();
> @@ -785,18 +807,22 @@ void *colo_process_incoming_thread(void *opaque)
>              goto out;
>          }
>  
> +#ifdef CONFIG_REPLICATION
>          replication_get_error_all(&local_err);
>          if (local_err) {
>              qemu_mutex_unlock_iothread();
>              goto out;
>          }
> +
>          /* discard colo disk buffer */
>          replication_do_checkpoint_all(&local_err);
>          if (local_err) {
>              qemu_mutex_unlock_iothread();
>              goto out;
>          }
> -
> +#else
> +        abort();
> +#endif
>          /* Notify all filters of all NIC to do checkpoint */
>          colo_notify_filters_event(COLO_EVENT_CHECKPOINT, &local_err);
>  
> -- 
> 2.17.1
> 
> 

Regards,

-- 
Peter Xu

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-14 10:47 ` Peter Xu
@ 2018-11-14 11:06   ` Thomas Huth
  2018-11-14 11:16     ` Peter Maydell
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Huth @ 2018-11-14 11:06 UTC (permalink / raw)
  To: Peter Xu, Zhang Chen, Peter Maydell
  Cc: qemu-devel, zhanghailiang, Dr. David Alan Gilbert,
	Philippe Mathieu-Daudé

On 2018-11-14 11:47, Peter Xu wrote:
> On Thu, Nov 01, 2018 at 10:12:26AM +0800, Zhang Chen wrote:
>> This compilation issue will occur when user use --disable-replication
>> to config Qemu.
>>
>> Reported-by: Thomas Huth <thuth@redhat.com>
>> Signed-off-by: Zhang Chen <zhangckid@gmail.com>
> 
> Hi,
> 
> How's the status of this patch?  Are we gonna merge it for 3.1?
> 
> I just posted a similar one without knowing this (until Dave pointed
> it out).  IMHO it can be a good candidate for 3.1.

Maybe Peter Maydell could apply this directly to the repo as a built fix?

And maybe one of our docker wizards could add a test to check
compilation with everything disabled a la:

./configure --enable-werror --disable-tcg --disable-slirp \
  --disable-libxml2 --disable-capstone --disable-live-block-migration \
  --disable-glusterfs --disable-replication --disable-coroutine-pool \
  --disable-smartcard --disable-guest-agent --disable-curses \
  --disable-curl --disable-tpm --disable-qom-cast-debug \
  --disable-spice --disable-vhost-vsock  --disable-vhost-net \
  --disable-vhost-crypto --disable-vhost-user

?

I don't use docker (yet), but I've had this in my gitlab ci patch,
that's how I noticed this problem (see
https://www.mail-archive.com/qemu-devel@nongnu.org/msg559990.html)

 Thomas


> 
>> ---
>>  migration/colo.c | 28 +++++++++++++++++++++++++++-
>>  1 file changed, 27 insertions(+), 1 deletion(-)
>>
>> diff --git a/migration/colo.c b/migration/colo.c
>> index 956ac236b7..fcff04c78c 100644
>> --- a/migration/colo.c
>> +++ b/migration/colo.c
>> @@ -59,6 +59,8 @@ static bool colo_runstate_is_stopped(void)
>>  
>>  static void secondary_vm_do_failover(void)
>>  {
>> +/* COLO needs enable block-replication */
>> +#ifdef CONFIG_REPLICATION
>>      int old_state;
>>      MigrationIncomingState *mis = migration_incoming_get_current();
>>      Error *local_err = NULL;
>> @@ -121,10 +123,14 @@ static void secondary_vm_do_failover(void)
>>      if (mis->migration_incoming_co) {
>>          qemu_coroutine_enter(mis->migration_incoming_co);
>>      }
>> +#else
>> +    abort();
>> +#endif
>>  }
>>  
>>  static void primary_vm_do_failover(void)
>>  {
>> +#ifdef CONFIG_REPLICATION
>>      MigrationState *s = migrate_get_current();
>>      int old_state;
>>      Error *local_err = NULL;
>> @@ -165,6 +171,9 @@ static void primary_vm_do_failover(void)
>>  
>>      /* Notify COLO thread that failover work is finished */
>>      qemu_sem_post(&s->colo_exit_sem);
>> +#else
>> +    abort();
>> +#endif
>>  }
>>  
>>  COLOMode get_colo_mode(void)
>> @@ -415,11 +424,16 @@ static int colo_do_checkpoint_transaction(MigrationState *s,
>>      /* Disable block migration */
>>      migrate_set_block_enabled(false, &local_err);
>>      qemu_mutex_lock_iothread();
>> +
>> +#ifdef CONFIG_REPLICATION
>>      replication_do_checkpoint_all(&local_err);
>>      if (local_err) {
>>          qemu_mutex_unlock_iothread();
>>          goto out;
>>      }
>> +#else
>> +        abort();
>> +#endif
>>  
>>      colo_send_message(s->to_dst_file, COLO_MESSAGE_VMSTATE_SEND, &local_err);
>>      if (local_err) {
>> @@ -523,11 +537,15 @@ static void colo_process_checkpoint(MigrationState *s)
>>      object_unref(OBJECT(bioc));
>>  
>>      qemu_mutex_lock_iothread();
>> +#ifdef CONFIG_REPLICATION
>>      replication_start_all(REPLICATION_MODE_PRIMARY, &local_err);
>>      if (local_err) {
>>          qemu_mutex_unlock_iothread();
>>          goto out;
>>      }
>> +#else
>> +        abort();
>> +#endif
>>  
>>      vm_start();
>>      qemu_mutex_unlock_iothread();
>> @@ -690,11 +708,15 @@ void *colo_process_incoming_thread(void *opaque)
>>      object_unref(OBJECT(bioc));
>>  
>>      qemu_mutex_lock_iothread();
>> +#ifdef CONFIG_REPLICATION
>>      replication_start_all(REPLICATION_MODE_SECONDARY, &local_err);
>>      if (local_err) {
>>          qemu_mutex_unlock_iothread();
>>          goto out;
>>      }
>> +#else
>> +        abort();
>> +#endif
>>      vm_start();
>>      trace_colo_vm_state_change("stop", "run");
>>      qemu_mutex_unlock_iothread();
>> @@ -785,18 +807,22 @@ void *colo_process_incoming_thread(void *opaque)
>>              goto out;
>>          }
>>  
>> +#ifdef CONFIG_REPLICATION
>>          replication_get_error_all(&local_err);
>>          if (local_err) {
>>              qemu_mutex_unlock_iothread();
>>              goto out;
>>          }
>> +
>>          /* discard colo disk buffer */
>>          replication_do_checkpoint_all(&local_err);
>>          if (local_err) {
>>              qemu_mutex_unlock_iothread();
>>              goto out;
>>          }
>> -
>> +#else
>> +        abort();
>> +#endif
>>          /* Notify all filters of all NIC to do checkpoint */
>>          colo_notify_filters_event(COLO_EVENT_CHECKPOINT, &local_err);
>>  
>> -- 
>> 2.17.1
>>
>>
> 
> Regards,
> 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-14 11:06   ` Thomas Huth
@ 2018-11-14 11:16     ` Peter Maydell
  2018-11-14 19:16       ` Zhang Chen
  0 siblings, 1 reply; 11+ messages in thread
From: Peter Maydell @ 2018-11-14 11:16 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Peter Xu, Zhang Chen, QEMU Developers, zhanghailiang,
	Dr. David Alan Gilbert, Philippe Mathieu-Daudé

On 14 November 2018 at 11:06, Thomas Huth <thuth@redhat.com> wrote:
> On 2018-11-14 11:47, Peter Xu wrote:
>> On Thu, Nov 01, 2018 at 10:12:26AM +0800, Zhang Chen wrote:
>>> This compilation issue will occur when user use --disable-replication
>>> to config Qemu.
>>>
>>> Reported-by: Thomas Huth <thuth@redhat.com>
>>> Signed-off-by: Zhang Chen <zhangckid@gmail.com>
>>
>> Hi,
>>
>> How's the status of this patch?  Are we gonna merge it for 3.1?
>>
>> I just posted a similar one without knowing this (until Dave pointed
>> it out).  IMHO it can be a good candidate for 3.1.
>
> Maybe Peter Maydell could apply this directly to the repo as a built fix?

I'd rather it just went through the migration tree, really...
it isn't actually breaking any of our travis jobs or other CI.

thanks
-- PMM

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-14 11:16     ` Peter Maydell
@ 2018-11-14 19:16       ` Zhang Chen
  2018-11-15  3:43         ` Peter Xu
  2018-11-16 18:29         ` Dr. David Alan Gilbert
  0 siblings, 2 replies; 11+ messages in thread
From: Zhang Chen @ 2018-11-14 19:16 UTC (permalink / raw)
  To: Peter Maydell
  Cc: Thomas Huth, peterx, qemu-devel, zhang.zhanghailiang,
	Dr . David Alan Gilbert, f4bug

On Wed, Nov 14, 2018 at 7:17 PM Peter Maydell <peter.maydell@linaro.org>
wrote:

> On 14 November 2018 at 11:06, Thomas Huth <thuth@redhat.com> wrote:
> > On 2018-11-14 11:47, Peter Xu wrote:
> >> On Thu, Nov 01, 2018 at 10:12:26AM +0800, Zhang Chen wrote:
> >>> This compilation issue will occur when user use --disable-replication
> >>> to config Qemu.
> >>>
> >>> Reported-by: Thomas Huth <thuth@redhat.com>
> >>> Signed-off-by: Zhang Chen <zhangckid@gmail.com>
> >>
> >> Hi,
> >>
> >> How's the status of this patch?  Are we gonna merge it for 3.1?
> >>
> >> I just posted a similar one without knowing this (until Dave pointed
> >> it out).  IMHO it can be a good candidate for 3.1.
> >
> > Maybe Peter Maydell could apply this directly to the repo as a built fix?
>
> I'd rather it just went through the migration tree, really...
> it isn't actually breaking any of our travis jobs or other CI.
>
>
Hi Dave,

What do you think about peter's comments?

Thanks
Zhang Chen


> thanks
> -- PMM
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-14 19:16       ` Zhang Chen
@ 2018-11-15  3:43         ` Peter Xu
  2018-11-16 18:29         ` Dr. David Alan Gilbert
  1 sibling, 0 replies; 11+ messages in thread
From: Peter Xu @ 2018-11-15  3:43 UTC (permalink / raw)
  To: Zhang Chen
  Cc: Peter Maydell, Thomas Huth, qemu-devel, zhang.zhanghailiang,
	Dr . David Alan Gilbert, f4bug

On Thu, Nov 15, 2018 at 03:16:25AM +0800, Zhang Chen wrote:
> On Wed, Nov 14, 2018 at 7:17 PM Peter Maydell <peter.maydell@linaro.org>
> wrote:
> 
> > On 14 November 2018 at 11:06, Thomas Huth <thuth@redhat.com> wrote:
> > > On 2018-11-14 11:47, Peter Xu wrote:
> > >> On Thu, Nov 01, 2018 at 10:12:26AM +0800, Zhang Chen wrote:
> > >>> This compilation issue will occur when user use --disable-replication
> > >>> to config Qemu.
> > >>>
> > >>> Reported-by: Thomas Huth <thuth@redhat.com>
> > >>> Signed-off-by: Zhang Chen <zhangckid@gmail.com>
> > >>
> > >> Hi,
> > >>
> > >> How's the status of this patch?  Are we gonna merge it for 3.1?
> > >>
> > >> I just posted a similar one without knowing this (until Dave pointed
> > >> it out).  IMHO it can be a good candidate for 3.1.
> > >
> > > Maybe Peter Maydell could apply this directly to the repo as a built fix?
> >
> > I'd rather it just went through the migration tree, really...
> > it isn't actually breaking any of our travis jobs or other CI.
> >
> >
> Hi Dave,
> 
> What do you think about peter's comments?

AFAIK Juan has queued the v2 of the patch into the next migration
pull, so it'll reach 3.1 soon if nothing goes wrong.  Thanks,

-- 
Peter Xu

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-14 19:16       ` Zhang Chen
  2018-11-15  3:43         ` Peter Xu
@ 2018-11-16 18:29         ` Dr. David Alan Gilbert
  2018-11-17 14:29           ` Zhang Chen
  1 sibling, 1 reply; 11+ messages in thread
From: Dr. David Alan Gilbert @ 2018-11-16 18:29 UTC (permalink / raw)
  To: Zhang Chen, quintela
  Cc: Peter Maydell, Thomas Huth, peterx, qemu-devel,
	zhang.zhanghailiang, f4bug

* Zhang Chen (zhangckid@gmail.com) wrote:
> On Wed, Nov 14, 2018 at 7:17 PM Peter Maydell <peter.maydell@linaro.org>
> wrote:
> 
> > On 14 November 2018 at 11:06, Thomas Huth <thuth@redhat.com> wrote:
> > > On 2018-11-14 11:47, Peter Xu wrote:
> > >> On Thu, Nov 01, 2018 at 10:12:26AM +0800, Zhang Chen wrote:
> > >>> This compilation issue will occur when user use --disable-replication
> > >>> to config Qemu.
> > >>>
> > >>> Reported-by: Thomas Huth <thuth@redhat.com>
> > >>> Signed-off-by: Zhang Chen <zhangckid@gmail.com>
> > >>
> > >> Hi,
> > >>
> > >> How's the status of this patch?  Are we gonna merge it for 3.1?
> > >>
> > >> I just posted a similar one without knowing this (until Dave pointed
> > >> it out).  IMHO it can be a good candidate for 3.1.
> > >
> > > Maybe Peter Maydell could apply this directly to the repo as a built fix?
> >
> > I'd rather it just went through the migration tree, really...
> > it isn't actually breaking any of our travis jobs or other CI.
> >
> >
> Hi Dave,
> 
> What do you think about peter's comments?

Yep, that's fine, as Peter Xu says, Juan's picking it up for the next
one so we should be OK.

Dave

> Thanks
> Zhang Chen
> 
> 
> > thanks
> > -- PMM
> >
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-16 18:29         ` Dr. David Alan Gilbert
@ 2018-11-17 14:29           ` Zhang Chen
  0 siblings, 0 replies; 11+ messages in thread
From: Zhang Chen @ 2018-11-17 14:29 UTC (permalink / raw)
  To: Dr . David Alan Gilbert
  Cc: Juan Quintela, Peter Maydell, Thomas Huth, peterx, qemu-devel,
	zhang.zhanghailiang, f4bug

On Sat, Nov 17, 2018, 2:29 AM Dr. David Alan Gilbert <dgilbert@redhat.com
wrote:

> * Zhang Chen (zhangckid@gmail.com) wrote:
> > On Wed, Nov 14, 2018 at 7:17 PM Peter Maydell <peter.maydell@linaro.org>
> > wrote:
> >
> > > On 14 November 2018 at 11:06, Thomas Huth <thuth@redhat.com> wrote:
> > > > On 2018-11-14 11:47, Peter Xu wrote:
> > > >> On Thu, Nov 01, 2018 at 10:12:26AM +0800, Zhang Chen wrote:
> > > >>> This compilation issue will occur when user use
> --disable-replication
> > > >>> to config Qemu.
> > > >>>
> > > >>> Reported-by: Thomas Huth <thuth@redhat.com>
> > > >>> Signed-off-by: Zhang Chen <zhangckid@gmail.com>
> > > >>
> > > >> Hi,
> > > >>
> > > >> How's the status of this patch?  Are we gonna merge it for 3.1?
> > > >>
> > > >> I just posted a similar one without knowing this (until Dave pointed
> > > >> it out).  IMHO it can be a good candidate for 3.1.
> > > >
> > > > Maybe Peter Maydell could apply this directly to the repo as a built
> fix?
> > >
> > > I'd rather it just went through the migration tree, really...
> > > it isn't actually breaking any of our travis jobs or other CI.
> > >
> > >
> > Hi Dave,
> >
> > What do you think about peter's comments?
>
> Yep, that's fine, as Peter Xu says, Juan's picking it up for the next
> one so we should be OK.
>
>
>
OK~ Thanks Peter Xu and Dave.

Zhang Chen



> Dave
>
> > Thanks
> > Zhang Chen
> >
> >
> > > thanks
> > > -- PMM
> > >
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication
  2018-11-01  2:12 [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication Zhang Chen
  2018-11-05 10:02 ` Thomas Huth
  2018-11-14 10:47 ` Peter Xu
@ 2018-11-21 11:21 ` Dr. David Alan Gilbert
  2 siblings, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert @ 2018-11-21 11:21 UTC (permalink / raw)
  To: Zhang Chen; +Cc: qemu-devel, zhanghailiang, Thomas Huth

* Zhang Chen (zhangckid@gmail.com) wrote:
> This compilation issue will occur when user use --disable-replication
> to config Qemu.
> 
> Reported-by: Thomas Huth <thuth@redhat.com>
> Signed-off-by: Zhang Chen <zhangckid@gmail.com>

Queued.

> ---
>  migration/colo.c | 28 +++++++++++++++++++++++++++-
>  1 file changed, 27 insertions(+), 1 deletion(-)
> 
> diff --git a/migration/colo.c b/migration/colo.c
> index 956ac236b7..fcff04c78c 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -59,6 +59,8 @@ static bool colo_runstate_is_stopped(void)
>  
>  static void secondary_vm_do_failover(void)
>  {
> +/* COLO needs enable block-replication */
> +#ifdef CONFIG_REPLICATION
>      int old_state;
>      MigrationIncomingState *mis = migration_incoming_get_current();
>      Error *local_err = NULL;
> @@ -121,10 +123,14 @@ static void secondary_vm_do_failover(void)
>      if (mis->migration_incoming_co) {
>          qemu_coroutine_enter(mis->migration_incoming_co);
>      }
> +#else
> +    abort();
> +#endif
>  }
>  
>  static void primary_vm_do_failover(void)
>  {
> +#ifdef CONFIG_REPLICATION
>      MigrationState *s = migrate_get_current();
>      int old_state;
>      Error *local_err = NULL;
> @@ -165,6 +171,9 @@ static void primary_vm_do_failover(void)
>  
>      /* Notify COLO thread that failover work is finished */
>      qemu_sem_post(&s->colo_exit_sem);
> +#else
> +    abort();
> +#endif
>  }
>  
>  COLOMode get_colo_mode(void)
> @@ -415,11 +424,16 @@ static int colo_do_checkpoint_transaction(MigrationState *s,
>      /* Disable block migration */
>      migrate_set_block_enabled(false, &local_err);
>      qemu_mutex_lock_iothread();
> +
> +#ifdef CONFIG_REPLICATION
>      replication_do_checkpoint_all(&local_err);
>      if (local_err) {
>          qemu_mutex_unlock_iothread();
>          goto out;
>      }
> +#else
> +        abort();
> +#endif
>  
>      colo_send_message(s->to_dst_file, COLO_MESSAGE_VMSTATE_SEND, &local_err);
>      if (local_err) {
> @@ -523,11 +537,15 @@ static void colo_process_checkpoint(MigrationState *s)
>      object_unref(OBJECT(bioc));
>  
>      qemu_mutex_lock_iothread();
> +#ifdef CONFIG_REPLICATION
>      replication_start_all(REPLICATION_MODE_PRIMARY, &local_err);
>      if (local_err) {
>          qemu_mutex_unlock_iothread();
>          goto out;
>      }
> +#else
> +        abort();
> +#endif
>  
>      vm_start();
>      qemu_mutex_unlock_iothread();
> @@ -690,11 +708,15 @@ void *colo_process_incoming_thread(void *opaque)
>      object_unref(OBJECT(bioc));
>  
>      qemu_mutex_lock_iothread();
> +#ifdef CONFIG_REPLICATION
>      replication_start_all(REPLICATION_MODE_SECONDARY, &local_err);
>      if (local_err) {
>          qemu_mutex_unlock_iothread();
>          goto out;
>      }
> +#else
> +        abort();
> +#endif
>      vm_start();
>      trace_colo_vm_state_change("stop", "run");
>      qemu_mutex_unlock_iothread();
> @@ -785,18 +807,22 @@ void *colo_process_incoming_thread(void *opaque)
>              goto out;
>          }
>  
> +#ifdef CONFIG_REPLICATION
>          replication_get_error_all(&local_err);
>          if (local_err) {
>              qemu_mutex_unlock_iothread();
>              goto out;
>          }
> +
>          /* discard colo disk buffer */
>          replication_do_checkpoint_all(&local_err);
>          if (local_err) {
>              qemu_mutex_unlock_iothread();
>              goto out;
>          }
> -
> +#else
> +        abort();
> +#endif
>          /* Notify all filters of all NIC to do checkpoint */
>          colo_notify_filters_event(COLO_EVENT_CHECKPOINT, &local_err);
>  
> -- 
> 2.17.1
> 
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2018-11-21 11:21 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-01  2:12 [Qemu-devel] [PATCH V2] migration/colo.c: Fix compilation issue when disable replication Zhang Chen
2018-11-05 10:02 ` Thomas Huth
2018-11-06  6:44   ` Zhang Chen
2018-11-14 10:47 ` Peter Xu
2018-11-14 11:06   ` Thomas Huth
2018-11-14 11:16     ` Peter Maydell
2018-11-14 19:16       ` Zhang Chen
2018-11-15  3:43         ` Peter Xu
2018-11-16 18:29         ` Dr. David Alan Gilbert
2018-11-17 14:29           ` Zhang Chen
2018-11-21 11:21 ` Dr. David Alan Gilbert

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.