* Juan Quintela (quintela@redhat.com) wrote:
> Signed-off-by: Juan Quintela <quintela@redhat.com>
>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
>
> We can't trust that error_in is not NULL. Create a local_error.
> ---
> migration/migration.c | 4 +++-
> migration/ram.c | 2 +-
> migration/ram.h | 2 +-
> 3 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index 1fb0aab44d..7140d1e040 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -3367,6 +3367,7 @@ static void *migration_thread(void *opaque)
>
> void migrate_fd_connect(MigrationState *s, Error *error_in)
> {
> + Error *local_err = NULL;
> int64_t rate_limit;
> bool resume = s->state == MIGRATION_STATUS_POSTCOPY_PAUSED;
>
> @@ -3415,7 +3416,8 @@ void migrate_fd_connect(MigrationState *s, Error *error_in)
> return;
> }
>
> - if (multifd_save_setup() != 0) {
> + if (multifd_save_setup(&local_err) != 0) {
> + error_report_err(local_err);
> 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 3fd7fdffcf..d537264ba5 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -1243,7 +1243,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.24.1
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK