* Juan Quintela ([email protected]) wrote:
> Signed-off-by: Juan Quintela <[email protected]>
> ---
> migration/migration.c | 2 +-
> migration/ram.c | 2 +-
> migration/ram.h | 2 +-
> 3 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index e7f707e033..5a56bd0c91 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -3400,7 +3400,7 @@ void migrate_fd_connect(MigrationState *s, Error
> *error_in)
> return;
> }
>
> - if (multifd_save_setup() != 0) {
> + if (multifd_save_setup(&error_in) != 0) {
I'm not sure that's right. I think the *error passed into
migration_channel_connect, and then onto migrate_fd_connect is an
indication that an error has happened, not a place you can put
an error pointer. Note how migration_channel_connect
frees it after the migrate_fd_connect call, it doesn't report it.
Dave
> migrate_set_state(&s->state, MIGRATION_STATUS_SETUP,
> MIGRATION_STATUS_FAILED);
> migrate_fd_cleanup(s);
> diff --git a/migration/ram.c b/migration/ram.c
> index 38070f1bb2..1f364cc23d 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -1208,7 +1208,7 @@ static void multifd_new_send_channel_async(QIOTask
> *task, gpointer opaque)
> }
> }
>
> -int multifd_save_setup(void)
> +int multifd_save_setup(Error **errp)
> {
> int thread_count;
> uint32_t page_count = MULTIFD_PACKET_SIZE / qemu_target_page_size();
> diff --git a/migration/ram.h b/migration/ram.h
> index bd0eee79b6..da22a417ea 100644
> --- a/migration/ram.h
> +++ b/migration/ram.h
> @@ -41,7 +41,7 @@ int xbzrle_cache_resize(int64_t new_size, Error **errp);
> uint64_t ram_bytes_remaining(void);
> uint64_t ram_bytes_total(void);
>
> -int multifd_save_setup(void);
> +int multifd_save_setup(Error **errp);
> void multifd_save_cleanup(void);
> int multifd_load_setup(void);
> int multifd_load_cleanup(Error **errp);
> --
> 2.23.0
>
--
Dr. David Alan Gilbert / [email protected] / Manchester, UK