mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
hyperv: fix domainManagedSave on Hyper-V V2
Signed-off-by: Matt Coleman <matt@datto.com> Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
a9f1a798fd
commit
747e0888a0
@ -1640,9 +1640,19 @@ hypervDomainManagedSave(virDomainPtr domain, unsigned int flags)
|
||||
hypervPrivate *priv = domain->conn->privateData;
|
||||
Msvm_ComputerSystem *computerSystem = NULL;
|
||||
bool in_transition = false;
|
||||
int requestedState = -1;
|
||||
|
||||
virCheckFlags(0, -1);
|
||||
|
||||
switch (priv->wmiVersion) {
|
||||
case HYPERV_WMI_VERSION_V1:
|
||||
requestedState = MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_SUSPENDED;
|
||||
break;
|
||||
case HYPERV_WMI_VERSION_V2:
|
||||
requestedState = MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_OFFLINE;
|
||||
break;
|
||||
}
|
||||
|
||||
if (hypervMsvmComputerSystemFromDomain(domain, &computerSystem) < 0)
|
||||
goto cleanup;
|
||||
|
||||
@ -1653,8 +1663,7 @@ hypervDomainManagedSave(virDomainPtr domain, unsigned int flags)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
result = hypervInvokeMsvmComputerSystemRequestStateChange
|
||||
(domain, MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_SUSPENDED);
|
||||
result = hypervInvokeMsvmComputerSystemRequestStateChange(domain, requestedState);
|
||||
|
||||
cleanup:
|
||||
hypervFreeObject(priv, (hypervObject *)computerSystem);
|
||||
|
@ -73,6 +73,7 @@ enum _Msvm_ComputerSystem_EnabledState {
|
||||
enum _Msvm_ComputerSystem_RequestedState {
|
||||
MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_ENABLED = 2,
|
||||
MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_DISABLED = 3,
|
||||
MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_OFFLINE = 6,
|
||||
MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_QUIESCE = 9,
|
||||
MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_REBOOT = 10,
|
||||
MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_RESET = 11,
|
||||
|
Loading…
x
Reference in New Issue
Block a user