> -----Original Message-----
> From: Steve Sistare <steven.sist...@oracle.com>
> Sent: Tuesday, March 12, 2024 1:49 AM
> To: qemu-devel@nongnu.org
> Cc: Alex Williamson <alex.william...@redhat.com>; Cedric Le Goater
> <c...@redhat.com>; Michael S. Tsirkin <m...@redhat.com>; David Hildenbrand
> <da...@redhat.com>; Peter Xu <pet...@redhat.com>; Fabiano Rosas
> <faro...@suse.de>; Zhang, Hailiang <zhanghaili...@xfusion.com>; Zhang,
> Chen <chen.zh...@intel.com>; Li Zhijian <lizhij...@fujitsu.com>; Jason Wang
> <jasow...@redhat.com>; Hyman Huang <yong.hu...@smartx.com>; Song
> Gao <gaos...@loongson.cn>; Alistair Francis <alistair.fran...@wdc.com>;
> Steve Sistare <steven.sist...@oracle.com>
> Subject: [PATCH V2 09/11] migration: privatize colo interfaces
>
> Remove private migration interfaces from net/colo-compare.c and push them
> to migration/colo.c.
>
> Signed-off-by: Steve Sistare <steven.sist...@oracle.com>
Reviewed-by: Zhang Chen <chen.zh...@intel.com>
Thanks
Chen
> ---
> migration/colo.c | 17 +++++++++++------
> net/colo-compare.c | 3 +--
> stubs/colo.c | 1 -
> 3 files changed, 12 insertions(+), 9 deletions(-)
>
> diff --git a/migration/colo.c b/migration/colo.c index 315e31f..84632a6
> 100644
> --- a/migration/colo.c
> +++ b/migration/colo.c
> @@ -63,9 +63,9 @@ static bool colo_runstate_is_stopped(void)
> return runstate_check(RUN_STATE_COLO) || !runstate_is_running(); }
>
> -static void colo_checkpoint_notify(void *opaque)
> +static void colo_checkpoint_notify(void)
> {
> - MigrationState *s = opaque;
> + MigrationState *s = migrate_get_current();
> int64_t next_notify_time;
>
> qemu_event_set(&s->colo_checkpoint_event);
> @@ -74,10 +74,15 @@ static void colo_checkpoint_notify(void *opaque)
> timer_mod(s->colo_delay_timer, next_notify_time); }
>
> +static void colo_checkpoint_notify_timer(void *opaque) {
> + colo_checkpoint_notify();
> +}
> +
> void colo_checkpoint_delay_set(void)
> {
> if (migration_in_colo_state()) {
> - colo_checkpoint_notify(migrate_get_current());
> + colo_checkpoint_notify();
> }
> }
>
> @@ -162,7 +167,7 @@ static void primary_vm_do_failover(void)
> * kick COLO thread which might wait at
> * qemu_sem_wait(&s->colo_checkpoint_sem).
> */
> - colo_checkpoint_notify(s);
> + colo_checkpoint_notify();
>
> /*
> * Wake up COLO thread which may blocked in recv() or send(), @@ -518,7
> +523,7 @@ out:
>
> static void colo_compare_notify_checkpoint(Notifier *notifier, void *data) {
> - colo_checkpoint_notify(data);
> + colo_checkpoint_notify();
> }
>
> static void colo_process_checkpoint(MigrationState *s) @@ -642,7 +647,7
> @@ void migrate_start_colo_process(MigrationState *s)
> bql_unlock();
> qemu_event_init(&s->colo_checkpoint_event, false);
> s->colo_delay_timer = timer_new_ms(QEMU_CLOCK_HOST,
> - colo_checkpoint_notify, s);
> + colo_checkpoint_notify_timer, NULL);
>
> qemu_sem_init(&s->colo_exit_sem, 0);
> colo_process_checkpoint(s);
> diff --git a/net/colo-compare.c b/net/colo-compare.c index f2dfc0e..c4ad0ab
> 100644
> --- a/net/colo-compare.c
> +++ b/net/colo-compare.c
> @@ -28,7 +28,6 @@
> #include "sysemu/iothread.h"
> #include "net/colo-compare.h"
> #include "migration/colo.h"
> -#include "migration/migration.h"
> #include "util.h"
>
> #include "block/aio-wait.h"
> @@ -189,7 +188,7 @@ static void
> colo_compare_inconsistency_notify(CompareState *s)
> notify_remote_frame(s);
> } else {
> notifier_list_notify(&colo_compare_notifiers,
> - migrate_get_current());
> + NULL);
> }
> }
>
> diff --git a/stubs/colo.c b/stubs/colo.c index 08c9f98..f8c069b 100644
> --- a/stubs/colo.c
> +++ b/stubs/colo.c
> @@ -2,7 +2,6 @@
> #include "qemu/notify.h"
> #include "net/colo-compare.h"
> #include "migration/colo.h"
> -#include "migration/migration.h"
> #include "qemu/error-report.h"
> #include "qapi/qapi-commands-migration.h"
>
> --
> 1.8.3.1