replication: Make --disable-replication compile
PATCH 1/1 replication: Make --disable-replication compile
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.
--- migration/colo.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)
migration/colo.c +23 -0
@@ -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 }
Signature · 1 line
2.17.1
Quoted 6 lines · * Peter Xu ([email protected]) wrote:
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.
This is I think the same as the patch posted 1st November:
Fix compilation issue when disable replication
Dave
Quoted 122 lines
CC zhanghailiang <[email protected]>CC Juan Quintela <[email protected]>CC "Dr. David Alan Gilbert" <[email protected]>CC Peter Maydell <[email protected]>CC Yanan Fu <[email protected]>CC Markus Armbruster <[email protected]>Reported-by Yanan Fu <[email protected]>Signed-off-by Peter Xu <[email protected]>--- migration/colo.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)migration/colo.c +23
-0@@ -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 }Signature · 1 line
2.17.1
--
Dr. David Alan Gilbert / [email protected] / Manchester, UK
Quoted 10 lines · Dr. David Alan Gilbert
Quoted 6 lines · * Peter Xu ([email protected]) wrote:
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.
This is I think the same as the patch posted 1st November:
Fix compilation issue when disable replication
Yep, thanks for pointing out. Please ignore this patch.
Regards,
Signature · 1 line
Peter Xu
Quoted 3 lines · Peter Xu
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"
Quoted 116 lines
There could be even cleaner way to fix this but current way is the simplest. Let's start from simple.
CC zhanghailiang <[email protected]>CC Juan Quintela <[email protected]>CC "Dr. David Alan Gilbert" <[email protected]>CC Peter Maydell <[email protected]>CC Yanan Fu <[email protected]>CC Markus Armbruster <[email protected]>Reported-by Yanan Fu <[email protected]>Signed-off-by Peter Xu <[email protected]>--- migration/colo.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)migration/colo.c +20
-0@@ -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 */
migration/colo.c out: · line 885
Quoted 7 lines
migration/colo.c +3
-0@@ -859,4 +879,7 @@ out:rcu_unregister_thread ();return NULL ; +#else +abort (); +#endif }
--
Alex Bennée