Peter Xu <[email protected]> writes:

> This function is used by both COLO and Xen.  Simplify it with two changes:
>
> - Remove checks on qemu_savevm_se_iterable(): this is not needed as
>   vmstate_save() also checks for "save_state() || vmsd" instead.  Here,
>   save_setup() (or say, iterable states) should be mutual exclusive to
>   "save_state() || vmsd" [*].
>
> - Remove migrate_error_propagate(): both of the users are not using live
>   migration framework, but raw vmstate operations.  Error propagation is
>   not needed for query-migrate persistence.
>

s/not needed/only needed/

I can fixup if no repost.

> [*] One tricky user is VFIO, who provided _both_ save_state() and
> save_setup().  However VFIO mustn't have been used in these paths or it
> means both COLO and Xen have ignored VFIO data instead (that is,
> qemu_savevm_se_iterable() will return true for VFIO). Hence, this change is
> safe.
>
> Cc: David Woodhouse <[email protected]>
> Cc: Paul Durrant <[email protected]>
> Signed-off-by: Peter Xu <[email protected]>

Reviewed-by: Fabiano Rosas <[email protected]>

> ---
>  migration/savevm.c | 5 -----
>  1 file changed, 5 deletions(-)
>
> diff --git a/migration/savevm.c b/migration/savevm.c
> index 130b9764a7..b29272db3b 100644
> --- a/migration/savevm.c
> +++ b/migration/savevm.c
> @@ -1897,13 +1897,8 @@ int qemu_save_device_state(QEMUFile *f)
>      QTAILQ_FOREACH(se, &savevm_state.handlers, entry) {
>          int ret;
>  
> -        if (qemu_savevm_se_iterable(se)) {
> -            continue;
> -        }
>          ret = vmstate_save(f, se, NULL, &local_err);
>          if (ret) {
> -            migrate_error_propagate(migrate_get_current(),
> -                                    error_copy(local_err));
>              error_report_err(local_err);
>              return ret;
>          }

Reply via email to