Re: [libvirt PATCH 23/80] qemu: Add support for postcopy-recover QEMU migration state

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 10, 2022 at 17:20:44 +0200, Jiri Denemark wrote:
> Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx>
> ---
>  src/qemu/qemu_migration.c    |  1 +
>  src/qemu/qemu_monitor.c      |  2 +-
>  src/qemu/qemu_monitor.h      |  1 +
>  src/qemu/qemu_monitor_json.c |  1 +
>  src/qemu/qemu_process.c      | 31 ++++++++++++++++++++++++++++++-
>  5 files changed, 34 insertions(+), 2 deletions(-)

[...]

> @@ -1590,6 +1593,32 @@ qemuProcessHandleMigrationStatus(qemuMonitor *mon G_GNUC_UNUSED,
>          }
>      }
>  
> +    if ((status == QEMU_MONITOR_MIGRATION_STATUS_POSTCOPY ||
> +         status == QEMU_MONITOR_MIGRATION_STATUS_POSTCOPY_RECOVER) &&
> +        virDomainObjIsFailedPostcopy(vm)) {
> +        int eventType = -1;
> +        int eventDetail = -1;
> +
> +        if (state == VIR_DOMAIN_PAUSED) {
> +            reason = VIR_DOMAIN_PAUSED_POSTCOPY;
> +            eventType = VIR_DOMAIN_EVENT_SUSPENDED;
> +            eventDetail = qemuDomainPausedReasonToSuspendedEvent(reason);
> +        } else {
> +            reason = VIR_DOMAIN_RUNNING_POSTCOPY;
> +            eventType = VIR_DOMAIN_EVENT_RESUMED;
> +            eventDetail = qemuDomainRunningReasonToResumeEvent(reason);
> +        }
> +
> +        VIR_DEBUG("Post-copy migration recovered; correcting state for domain "
> +                  "%s to %s/%s",

Preferrably conform to the error message coding style here:
    - no linebreaks
    - all substitutions should be somehow enclosed e.g. in '%s'

> +                  vm->def->name,
> +                  virDomainStateTypeToString(state),
> +                  NULLSTR(virDomainStateReasonToString(state, reason)));
> +        virDomainObjSetState(vm, state, reason);
> +        event = virDomainEventLifecycleNewFromObj(vm, eventType, eventDetail);
> +        qemuDomainSaveStatus(vm);
> +    }

Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux