From: Peter Xu <peterx@redhat.com>
To: qemu-devel@nongnu.org
Cc: peterx@redhat.com, zhanghailiang <zhang.zhanghailiang@huawei.com>,
Juan Quintela <quintela@redhat.com>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Yanan Fu <yfu@redhat.com>, Markus Armbruster <armbru@redhat.com>
Subject: [Qemu-devel] [PATCH] replication: Make --disable-replication compile
Date: Wed, 14 Nov 2018 15:16:11 +0800 [thread overview]
Message-ID: <20181114071611.5352-1-peterx@redhat.com> (raw)
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.
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
}
--
2.17.1
next reply other threads:[~2018-11-14 7:16 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-14 7:16 Peter Xu [this message]
2018-11-14 10:37 ` [Qemu-devel] [PATCH] replication: Make --disable-replication compile Dr. David Alan Gilbert
2018-11-14 10:48 ` Peter Xu
2018-11-14 15:23 ` Alex Bennée
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=20181114071611.5352-1-peterx@redhat.com \
--to=peterx@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=peter.maydell@linaro.org \
--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).