Thanks Eric!

I'll have a look at the missing virDomainListAllSnapshots. It doesn't block what I'm doing at the moment, so it's not my highest priority but I might need it in the future.

- Geoff Hickey -


On Wed, Jul 17, 2013 at 5:42 PM, Eric Blake <eblake@redhat.com> wrote:
On 07/17/2013 12:28 PM, Geoff Hickey wrote:
> 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.
> ---
>  src/esx/esx_driver.c |   14 ++++++++++----
>  1 files changed, 10 insertions(+), 4 deletions(-)

ACK and pushed.

>
> diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
> index fbe43c2..d69576d 100644
> --- a/src/esx/esx_driver.c
> +++ b/src/esx/esx_driver.c
> @@ -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, but has no snapshot *
> +     * metadata. */

Comment is a bit misleading; I reworded it slightly to emphasize that
the flag is accepted and trivial because it is libvirt that tracks no
metadata.

Hmm, the ESX driver is missing support for virDomainListAllSnapshots,
along with its ability to filter based on whether a snapshot was
disk-only or included memory.  Is that something you are interested in
tackling as a followup?

--
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org