qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: Peter Maydell <peter.maydell@linaro.org>,
	zhanghailiang <zhang.zhanghailiang@huawei.com>,
	Yanan Fu <yfu@redhat.com>, Juan Quintela <quintela@redhat.com>,
	"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	peterx@redhat.com, Markus Armbruster <armbru@redhat.com>
Subject: Re: [Qemu-devel] [PATCH] replication: Make --disable-replication compile
Date: Wed, 14 Nov 2018 15:23:23 +0000	[thread overview]
Message-ID: <87wopfd6ok.fsf@linaro.org> (raw)
In-Reply-To: <20181114071611.5352-1-peterx@redhat.com>


Peter Xu <peterx@redhat.com> writes:

> We've fixed it before like 38bb54f323 ("replication: Make
> --disable-replication compile again", 2017-04-28) but it's failing
> again.  So fix it again.

If replication builds by default and you want to defend it not building
then it would probably be worth adding it to the disabled configs in
.travis.yml:

 - CONFIG="--disable-linux-aio --disable-cap-ng --disable-attr --disable-brlapi --disable-uuid --disable-libusb --disable-user"

>
> There could be even cleaner way to fix this but current way is the
> simplest.  Let's start from simple.
>
> CC: zhanghailiang <zhang.zhanghailiang@huawei.com>
> CC: Juan Quintela <quintela@redhat.com>
> CC: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> CC: Peter Maydell <peter.maydell@linaro.org>
> CC: Yanan Fu <yfu@redhat.com>
> CC: Markus Armbruster <armbru@redhat.com>
> Reported-by: Yanan Fu <yfu@redhat.com>
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
>  migration/colo.c | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>
> diff --git a/migration/colo.c b/migration/colo.c
> index 956ac236b7..78b64ef0cb 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -33,8 +33,10 @@
>  #include "sysemu/cpus.h"
>  #include "net/filter.h"
>
> +#ifdef CONFIG_REPLICATION
>  static bool vmstate_loading;
>  static Notifier packets_compare_notifier;
> +#endif
>
>  #define COLO_BUFFER_BASE_SIZE (4 * 1024 * 1024)
>
> @@ -59,6 +61,7 @@ static bool colo_runstate_is_stopped(void)
>
>  static void secondary_vm_do_failover(void)
>  {
> +#ifdef CONFIG_REPLICATION
>      int old_state;
>      MigrationIncomingState *mis = migration_incoming_get_current();
>      Error *local_err = NULL;
> @@ -121,10 +124,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 +172,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)
> @@ -271,6 +281,8 @@ COLOStatus *qmp_query_colo_status(Error **errp)
>      return s;
>  }
>
> +#ifdef CONFIG_REPLICATION
> +
>  static void colo_send_message(QEMUFile *f, COLOMessage msg,
>                                Error **errp)
>  {
> @@ -489,9 +501,11 @@ static void colo_compare_notify_checkpoint(Notifier *notifier, void *data)
>  {
>      colo_checkpoint_notify(data);
>  }
> +#endif
>
>  static void colo_process_checkpoint(MigrationState *s)
>  {
> +#ifdef CONFIG_REPLICATION
>      QIOChannelBuffer *bioc;
>      QEMUFile *fb = NULL;
>      int64_t current_time = qemu_clock_get_ms(QEMU_CLOCK_HOST);
> @@ -603,6 +617,9 @@ out:
>      if (s->rp_state.from_dst_file) {
>          qemu_fclose(s->rp_state.from_dst_file);
>      }
> +#else
> +    abort();
> +#endif
>  }
>
>  void colo_checkpoint_notify(void *opaque)
> @@ -631,6 +648,7 @@ void migrate_start_colo_process(MigrationState *s)
>      qemu_mutex_lock_iothread();
>  }
>
> +#ifdef CONFIG_REPLICATION
>  static void colo_wait_handle_message(QEMUFile *f, int *checkpoint_request,
>                                       Error **errp)
>  {
> @@ -653,9 +671,11 @@ static void colo_wait_handle_message(QEMUFile *f, int *checkpoint_request,
>          break;
>      }
>  }
> +#endif
>
>  void *colo_process_incoming_thread(void *opaque)
>  {
> +#ifdef CONFIG_REPLICATION
>      MigrationIncomingState *mis = opaque;
>      QEMUFile *fb = NULL;
>      QIOChannelBuffer *bioc = NULL; /* Cache incoming device state */
> @@ -859,4 +879,7 @@ out:
>
>      rcu_unregister_thread();
>      return NULL;
> +#else
> +    abort();
> +#endif
>  }


--
Alex Bennée

      parent reply	other threads:[~2018-11-14 15:23 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-14  7:16 [Qemu-devel] [PATCH] replication: Make --disable-replication compile Peter Xu
2018-11-14 10:37 ` Dr. David Alan Gilbert
2018-11-14 10:48   ` Peter Xu
2018-11-14 15:23 ` Alex Bennée [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87wopfd6ok.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=armbru@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=peterx@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=yfu@redhat.com \
    --cc=zhang.zhanghailiang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).