On 11/01/2012 10:22 AM, Peter Krempa wrote: > Snapshots are external if they are "disk snapshots" or if they have an > external memory image. Other possibilities are not supported (yet).
And given the discussion on 15/20, even though it might be technically
possible to mix internal and external disk images into a single
snapshot, we are going to forbid that mix for now (because it has
interesting ramifications on how to do a revert), so this approach looks
sane.
> ---
> src/conf/snapshot_conf.c | 11 +++++++++++
> src/conf/snapshot_conf.h | 2 ++
> src/libvirt_private.syms | 1 +
> 3 files changed, 14 insertions(+)
>
> diff --git a/src/conf/snapshot_conf.c b/src/conf/snapshot_conf.c
> index 691950a..5d9df57 100644
> --- a/src/conf/snapshot_conf.c
> +++ b/src/conf/snapshot_conf.c
> @@ -1023,3 +1023,14 @@ cleanup:
> }
> return ret;
> }
> +
> +
> +bool
> +virDomainSnapshotIsExternal(virDomainSnapshotObjPtr snap)
> +{
> + if (snap->def->state == VIR_DOMAIN_DISK_SNAPSHOT ||
> + snap->def->memory == VIR_DOMAIN_SNAPSHOT_LOCATION_EXTERNAL)
> + return true;
> +
> + return false;
> +}
This isn't quite true. If the snapshot is offline, then
snap->def->state will be VIR_DOMAIN_SHUTOFF, not
VIR_DOMAIN_DISK_SNAPSHOT. If state is shutoff, you're going to have to
loop over the disks to see if any of them requested external.
--
Eric Blake [email protected] +1-919-301-3266
Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/libvir-list
