[PATCH 5/7] hyperv: fix domainSuspend and domainResume on Hyper-V V2
Daniel P. Berrangé
berrange at redhat.com
Fri Oct 9 09:01:08 UTC 2020
On Fri, Oct 09, 2020 at 04:56:09AM -0400, Matt Coleman wrote:
> > On Oct 9, 2020, at 4:43 AM, Daniel P. Berrangé <berrange at redhat.com> wrote:
> > On Fri, Oct 09, 2020 at 04:31:54AM -0400, Matt Coleman wrote:
> >> Signed-off-by: Matt Coleman <matt at datto.com>
> >> ---
> >> src/hyperv/hyperv_driver.c | 15 +++++++++++----
> >> src/hyperv/hyperv_wmi_classes.h | 1 +
> >> 2 files changed, 12 insertions(+), 4 deletions(-)
> >> diff --git a/src/hyperv/hyperv_driver.c b/src/hyperv/hyperv_driver.c
> >> index 0b28c1e94b..89840f7ac4 100644
> >> --- a/src/hyperv/hyperv_driver.c
> >> +++ b/src/hyperv/hyperv_driver.c
> >> @@ -867,6 +867,10 @@ hypervDomainSuspend(virDomainPtr domain)
> >> int result = -1;
> >> hypervPrivate *priv = domain->conn->privateData;
> >> Msvm_ComputerSystem *computerSystem = NULL;
> >> + int requestedState = MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_PAUSED;
> >> +
> >> + if (priv->wmiVersion == HYPERV_WMI_VERSION_V2)
> >> + requestedState = MSVM_COMPUTERSYSTEM_REQUESTEDSTATE_QUIESCE;
> > Is quiesce really what we want here ?
> > The libvirt Suspend/Resume APIs are specifically about pausing
> > execution of the guest CPUs.
> > IIUC, quiesce usually just refers to suspending I/O processing,
> > in order to allow snapshots to be taken, but CPUs stay running.
> I agree that it’s an odd name, but that’s how Microsoft chose to
> describe this RequestedState. It’s documented at the following link as...
> "Quiesce (9)
> Corresponds to CIM_EnabledLogicalElement.EnabledState = Quiesce,
> Enabled but paused."
> I didn’t believe the documentation when I first read it, so I paused a
> VM in Hyper-V Manager and confirmed that its state was indeed Quiesce.
AH, that's ok then.
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list