[libvirt] [PATCHv1.5 23/27] qemu: snapshot: Add functions similar to disk source pool translation

Michal Privoznik mprivozn at redhat.com
Wed Nov 27 11:14:56 UTC 2013


On 26.11.2013 17:49, Peter Krempa wrote:
> To avoid future pain, add placeholder functions to get the actual
> snapshot disk type.
> ---
>  src/qemu/qemu_conf.c | 23 +++++++++++++++++++++++
>  src/qemu/qemu_conf.h |  6 ++++++
>  2 files changed, 29 insertions(+)
> 
> diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
> index 639e2ff..210608e 100644
> --- a/src/qemu/qemu_conf.c
> +++ b/src/qemu/qemu_conf.c
> @@ -1453,3 +1453,26 @@ cleanup:
>      virStoragePoolDefFree(pooldef);
>      return ret;
>  }
> +
> +
> +int
> +qemuSnapshotDiskGetActualType(virDomainSnapshotDiskDefPtr def)
> +{
> +    if (def->type == -1)
> +        return VIR_DOMAIN_DISK_TYPE_FILE;
> +
> +    return def->type;
> +}
> +
> +
> +int
> +qemuTranslateSnapshotDiskSourcePool(virConnectPtr conn ATTRIBUTE_UNUSED,
> +                                    virDomainSnapshotDiskDefPtr def)
> +{
> +    if (def->type != VIR_DOMAIN_DISK_TYPE_VOLUME)
> +        return 0;
> +
> +    virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
> +                   _("Snapshots are not yet supported with 'pool' volumes"));
> +    return -1;
> +}
> diff --git a/src/qemu/qemu_conf.h b/src/qemu/qemu_conf.h
> index b9786b1..0cb7901 100644
> --- a/src/qemu/qemu_conf.h
> +++ b/src/qemu/qemu_conf.h
> @@ -29,6 +29,7 @@
>  # include "capabilities.h"
>  # include "network_conf.h"
>  # include "domain_conf.h"
> +# include "snapshot_conf.h"
>  # include "domain_event.h"
>  # include "virthread.h"
>  # include "security/security_manager.h"
> @@ -309,4 +310,9 @@ int qemuDiskGetActualType(virDomainDiskDefPtr def);
>  int qemuTranslateDiskSourcePool(virConnectPtr conn,
>                                  virDomainDiskDefPtr def);
> 
> +int qemuSnapshotDiskGetActualType(virDomainSnapshotDiskDefPtr def);
> +
> +int qemuTranslateSnapshotDiskSourcePool(virConnectPtr conn,
> +                                        virDomainSnapshotDiskDefPtr def);
> +
>  #endif /* __QEMUD_CONF_H */
> 

ACK

Michal




More information about the libvir-list mailing list