mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-21 20:15:17 +00:00
esx: Support for disk-only and quiescing snapshots.
Add support for creating disk-only (no memory) snapshots in esx, and for quiescing the VM before taking the snapshot. The VMware API supports these operations directly, so adding support to libvirt is just a matter of setting the flags correctly when calling VMware. VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY and VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE are now valid flags for esx. Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
261c4f5fb9
commit
6c8adeb41a
@ -4209,9 +4209,14 @@ esxDomainSnapshotCreateXML(virDomainPtr domain, const char *xmlDesc,
|
||||
esxVI_TaskInfoState taskInfoState;
|
||||
char *taskInfoErrorMessage = NULL;
|
||||
virDomainSnapshotPtr snapshot = NULL;
|
||||
bool diskOnly = (flags & VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY) != 0;
|
||||
bool quiesce = (flags & VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE) != 0;
|
||||
|
||||
/* ESX has no snapshot metadata, so this flag is trivial. */
|
||||
virCheckFlags(VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA, NULL);
|
||||
/* ESX supports disk-only and quiesced snapshots; libvirt tracks no
|
||||
* snapshot metadata so supporting that flag is trivial. */
|
||||
virCheckFlags(VIR_DOMAIN_SNAPSHOT_CREATE_DISK_ONLY |
|
||||
VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE |
|
||||
VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA, NULL);
|
||||
|
||||
if (esxVI_EnsureSession(priv->primary) < 0) {
|
||||
return NULL;
|
||||
@ -4249,8 +4254,9 @@ esxDomainSnapshotCreateXML(virDomainPtr domain, const char *xmlDesc,
|
||||
|
||||
if (esxVI_CreateSnapshot_Task(priv->primary, virtualMachine->obj,
|
||||
def->name, def->description,
|
||||
esxVI_Boolean_True,
|
||||
esxVI_Boolean_False, &task) < 0 ||
|
||||
diskOnly ? esxVI_Boolean_False : esxVI_Boolean_True,
|
||||
quiesce ? esxVI_Boolean_True : esxVI_Boolean_False,
|
||||
&task) < 0 ||
|
||||
esxVI_WaitForTaskCompletion(priv->primary, task, domain->uuid,
|
||||
esxVI_Occurrence_RequiredItem,
|
||||
priv->parsedUri->autoAnswer, &taskInfoState,
|
||||
|
Loading…
x
Reference in New Issue
Block a user