[libvirt] [PATCH v2 04/10] conf: store mirroring information in virStorageSource
Peter Krempa
pkrempa at redhat.com
Fri Jun 6 09:25:47 UTC 2014
On 06/06/14 00:52, Eric Blake wrote:
> The current implementation of 'virsh blockcopy' (virDomainBlockRebase)
> is limited to copying to a local file name. But future patches want
> to extend it to also copy to network disks. This patch converts over
> to a virStorageSourcePtr, although it should have no semantic change
> visible to the user, in anticipation of those future patches being
> able to use more fields for non-file destinations.
>
> * src/conf/domain_conf.h (_virDomainDiskDef): Change type of
> mirror information.
> * src/conf/domain_conf.c (virDomainDiskDefParseXML): Localize
> mirror parsing into new object.
> (virDomainDiskDefFormat): Adjust clients.
> * src/qemu/qemu_domain.c (qemuDomainDeviceDefPostParse):
> Likewise.
> * src/qemu/qemu_driver.c (qemuDomainBlockPivot)
> (qemuDomainBlockJobImpl, qemuDomainBlockCopy): Likewise.
>
> Signed-off-by: Eric Blake <eblake at redhat.com>
> ---
> src/conf/domain_conf.c | 50 ++++++++++++++++++++---------------------
> src/conf/domain_conf.h | 3 +--
> src/qemu/qemu_domain.c | 8 +++----
> src/qemu/qemu_driver.c | 60 +++++++++++++++++++++++++++++++------------------
> src/qemu/qemu_process.c | 15 ++++++++-----
> 5 files changed, 77 insertions(+), 59 deletions(-)
>
>diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
>index 3585537..11d5c68 100644
>--- a/src/conf/domain_conf.h
>+++ b/src/conf/domain_conf.h
>@@ -606,8 +606,7 @@ struct _virDomainDiskDef {
> int tray_status; /* enum virDomainDiskTray */
> int removable; /* enum virDomainFeatureState */
>
>- char *mirror;
>- int mirrorFormat; /* virStorageFileFormat */
>+ virStorageSourcePtr mirror;
You adjust the type here, but don't adjust the code in
virDomainDiskDefFree ...
> bool mirroring;
>
> struct {
You need to change:
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index b8e7c50..827c401 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -1203,7 +1203,7 @@ virDomainDiskDefFree(virDomainDiskDefPtr def)
virStorageSourceFree(def->src);
VIR_FREE(def->serial);
VIR_FREE(def->dst);
- VIR_FREE(def->mirror);
+ virStorageSourceFree(def->mirror);
VIR_FREE(def->wwn);
VIR_FREE(def->vendor);
VIR_FREE(def->product);
ACK with that addressed,
Peter
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140606/e72029aa/attachment-0001.sig>
More information about the libvir-list
mailing list