[libvirt] [PATCH v8 2/4] Add vbox_snapshot_conf struct
Daniel P. Berrange
berrange at redhat.com
Tue Jun 10 14:20:07 UTC 2014
On Mon, May 19, 2014 at 02:47:31PM +0200, Yohan BELLEGUIC wrote:
> This structure contains the data to be saved in the VirtualBox XML file
> and can be manipulated with severals exposed functions.
> The structure is created by vboxSnapshotLoadVboxFile taking the
> machine XML file.
> It also can rewrite the XML by using vboxSnapshotSaveVboxFile.
> ---
> po/POTFILES.in | 1 +
> src/Makefile.am | 1 +
> src/vbox/vbox_snapshot_conf.c | 1490 ++++++++++++++++++++
> src/vbox/vbox_snapshot_conf.h | 105 ++
> tests/Makefile.am | 15 +
> tests/vboxsnapshotxmldata/2disks-1snap.vbox | 322 +++++
> tests/vboxsnapshotxmldata/2disks-2snap.vbox | 478 +++++++
> .../vboxsnapshotxmldata/2disks-3snap-brother.vbox | 786 +++++++++++
> tests/vboxsnapshotxmldata/2disks-3snap.vbox | 636 +++++++++
> tests/vboxsnapshotxmldata/2disks-nosnap.vbox | 168 +++
> tests/vboxsnapshotxmltest.c | 161 +++
> 11 files changed, 4163 insertions(+)
> create mode 100644 src/vbox/vbox_snapshot_conf.c
> create mode 100644 src/vbox/vbox_snapshot_conf.h
> create mode 100644 tests/vboxsnapshotxmldata/2disks-1snap.vbox
> create mode 100644 tests/vboxsnapshotxmldata/2disks-2snap.vbox
> create mode 100644 tests/vboxsnapshotxmldata/2disks-3snap-brother.vbox
> create mode 100644 tests/vboxsnapshotxmldata/2disks-3snap.vbox
> create mode 100644 tests/vboxsnapshotxmldata/2disks-nosnap.vbox
> create mode 100644 tests/vboxsnapshotxmltest.c
ACK
I made a few changes to this - primarily to add 'const' to all
the 'char *' strings, tweak line breaks, and remove some bogus
use of virStringFreeList on non-NULL terminated arrays
So the change I'm pushing includes this:
diff --git a/src/vbox/vbox_snapshot_conf.c b/src/vbox/vbox_snapshot_conf.c
index 9fee760..4909665 100644
--- a/src/vbox/vbox_snapshot_conf.c
+++ b/src/vbox/vbox_snapshot_conf.c
@@ -30,9 +30,10 @@
#define VIR_FROM_THIS VIR_FROM_VBOX
VIR_LOG_INIT("vbox.vbox_snapshot_conf");
-static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfCreateVBoxSnapshotConfHardDiskPtr(xmlNodePtr diskNode,
- xmlXPathContextPtr xPathContext,
- char *machineLocation)
+static virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfCreateVBoxSnapshotConfHardDiskPtr(xmlNodePtr diskNode,
+ xmlXPathContextPtr xPathContext,
+ const char *machineLocation)
{
virVBoxSnapshotConfHardDiskPtr hardDisk = NULL;
xmlNodePtr *nodes = NULL;
@@ -114,9 +115,10 @@ static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfCreateVBoxSnapshotConfH
return hardDisk;
}
-static virVBoxSnapshotConfMediaRegistryPtr virVBoxSnapshotConfRetrieveMediaRegistry(xmlNodePtr mediaRegistryNode,
- xmlXPathContextPtr xPathContext,
- char *machineLocation)
+static virVBoxSnapshotConfMediaRegistryPtr
+virVBoxSnapshotConfRetrieveMediaRegistry(xmlNodePtr mediaRegistryNode,
+ xmlXPathContextPtr xPathContext,
+ const char *machineLocation)
{
virVBoxSnapshotConfMediaRegistryPtr mediaRegistry = NULL;
xmlNodePtr hardDisksNode = NULL;
@@ -175,8 +177,9 @@ static virVBoxSnapshotConfMediaRegistryPtr virVBoxSnapshotConfRetrieveMediaRegis
return mediaRegistry;
}
-static virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfRetrieveSnapshot(xmlNodePtr snapshotNode,
- xmlXPathContextPtr xPathContext)
+static virVBoxSnapshotConfSnapshotPtr
+virVBoxSnapshotConfRetrieveSnapshot(xmlNodePtr snapshotNode,
+ xmlXPathContextPtr xPathContext)
{
virVBoxSnapshotConfSnapshotPtr snapshot = NULL;
xmlNodePtr hardwareNode = NULL;
@@ -278,8 +281,9 @@ static virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfRetrieveSnapshot(xmlNod
return snapshot;
}
-virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfSnapshotByName(virVBoxSnapshotConfSnapshotPtr snapshot,
- char *snapshotName)
+virVBoxSnapshotConfSnapshotPtr
+virVBoxSnapshotConfSnapshotByName(virVBoxSnapshotConfSnapshotPtr snapshot,
+ const char *snapshotName)
{
size_t i = 0;
virVBoxSnapshotConfSnapshotPtr ret = NULL;
@@ -293,8 +297,9 @@ virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfSnapshotByName(virVBoxSnapshot
return ret;
}
-static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskById(virVBoxSnapshotConfHardDiskPtr disk,
- char *parentHardDiskId)
+static virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfHardDiskById(virVBoxSnapshotConfHardDiskPtr disk,
+ const char *parentHardDiskId)
{
size_t i = 0;
virVBoxSnapshotConfHardDiskPtr ret = NULL;
@@ -308,8 +313,9 @@ static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskById(virVBoxSna
return ret;
}
-static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskByLocation(virVBoxSnapshotConfHardDiskPtr disk,
- char *parentLocation)
+static virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfHardDiskByLocation(virVBoxSnapshotConfHardDiskPtr disk,
+ const char *parentLocation)
{
size_t i = 0;
virVBoxSnapshotConfHardDiskPtr ret = NULL;
@@ -323,7 +329,8 @@ static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskByLocation(virV
return ret;
}
-static xmlNodePtr virVBoxSnapshotConfCreateHardDiskNode(virVBoxSnapshotConfHardDiskPtr hardDisk)
+static xmlNodePtr
+virVBoxSnapshotConfCreateHardDiskNode(virVBoxSnapshotConfHardDiskPtr hardDisk)
{
int result = -1;
size_t i = 0;
@@ -357,7 +364,9 @@ static xmlNodePtr virVBoxSnapshotConfCreateHardDiskNode(virVBoxSnapshotConfHardD
return ret;
}
-static int virVBoxSnapshotConfSerializeSnapshot(xmlNodePtr node, virVBoxSnapshotConfSnapshotPtr snapshot)
+static int
+virVBoxSnapshotConfSerializeSnapshot(xmlNodePtr node,
+ virVBoxSnapshotConfSnapshotPtr snapshot)
{
int result = -1;
size_t i = 0;
@@ -458,7 +467,9 @@ static int virVBoxSnapshotConfSerializeSnapshot(xmlNodePtr node, virVBoxSnapshot
return result;
}
-static size_t virVBoxSnapshotConfAllChildren(virVBoxSnapshotConfHardDiskPtr disk, virVBoxSnapshotConfHardDiskPtr **list)
+static size_t
+virVBoxSnapshotConfAllChildren(virVBoxSnapshotConfHardDiskPtr disk,
+ virVBoxSnapshotConfHardDiskPtr **list)
{
size_t returnSize = 0;
size_t tempSize = 0;
@@ -486,7 +497,8 @@ static size_t virVBoxSnapshotConfAllChildren(virVBoxSnapshotConfHardDiskPtr disk
return returnSize;
}
-void virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk)
+void
+virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk)
{
size_t i = 0;
@@ -504,7 +516,8 @@ void virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk)
}
-void virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry)
+void
+virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry)
{
size_t i = 0;
@@ -514,11 +527,14 @@ void virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr me
for (i = 0; i < mediaRegistry->ndisks; i++)
virVboxSnapshotConfHardDiskFree(mediaRegistry->disks[i]);
VIR_FREE(mediaRegistry->disks);
- virStringFreeList(mediaRegistry->otherMedia);
+ for (i = 0; i < mediaRegistry->notherMedia; i++)
+ VIR_FREE(mediaRegistry->otherMedia[i]);
+ VIR_FREE(mediaRegistry->otherMedia);
VIR_FREE(mediaRegistry);
}
-void virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot)
+void
+virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot)
{
size_t i = 0;
@@ -537,7 +553,8 @@ void virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot)
VIR_FREE(snapshot);
}
-void virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine)
+void
+virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine)
{
if (!machine)
return;
@@ -561,7 +578,9 @@ void virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine)
*return NULL on failure
*filePath must not be NULL.
*/
-virVBoxSnapshotConfMachinePtr virVBoxSnapshotConfLoadVboxFile(const char *filePath, char *machineLocation)
+virVBoxSnapshotConfMachinePtr
+virVBoxSnapshotConfLoadVboxFile(const char *filePath,
+ const char *machineLocation)
{
int ret = -1;
virVBoxSnapshotConfMachinePtr machineDescription = NULL;
@@ -702,6 +721,8 @@ virVBoxSnapshotConfMachinePtr virVBoxSnapshotConfLoadVboxFile(const char *filePa
cur = virXPathNode("./vbox:Snapshot", xPathContext);
if (cur != NULL) {
machineDescription->snapshot = virVBoxSnapshotConfRetrieveSnapshot(cur, xPathContext);
+ if (!machineDescription->snapshot)
+ goto cleanup;
}
ret = 0;
@@ -727,9 +748,10 @@ virVBoxSnapshotConfMachinePtr virVBoxSnapshotConfLoadVboxFile(const char *filePa
*return 0 on success
*return -1 on failure
*/
-int virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr snapshot,
- virVBoxSnapshotConfMachinePtr machine,
- char *snapshotParentName)
+int
+virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr snapshot,
+ virVBoxSnapshotConfMachinePtr machine,
+ const char *snapshotParentName)
{
int ret = -1;
virVBoxSnapshotConfSnapshotPtr parentSnapshot = NULL;
@@ -786,9 +808,10 @@ int virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr sn
*return 0 on success
*return -1 on failure
*/
-int virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr hardDisk,
- virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
- char *parentHardDiskId)
+int
+virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr hardDisk,
+ virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
+ const char *parentHardDiskId)
{
int ret = -1;
size_t i = 0;
@@ -834,7 +857,9 @@ int virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr
*return 0 on success
*return -1 on failure
*/
-int virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine, char *snapshotName)
+int
+virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine,
+ const char *snapshotName)
{
int ret = -1;
size_t i = 0;
@@ -899,7 +924,9 @@ int virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine, cha
*return 0 on success
*return -1 on failure
*/
-int virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry, char *uuid)
+int
+virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
+ const char *uuid)
{
int ret = -1;
size_t i = 0;
@@ -957,7 +984,9 @@ int virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaR
*return 0 on success
*return -1 on failure
*/
-int virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine, const char *filePath)
+int
+virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine,
+ const char *filePath)
{
int ret = -1;
size_t i = 0;
@@ -1212,7 +1241,9 @@ int virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine, const
*isCurrentSnapshot: Return 1 if 'snapshotName' corresponds to the
*vboxSnapshotXmlMachinePtr's current snapshot, return 0 otherwise.
*/
-int virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine, char *snapshotName)
+int
+virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine,
+ const char *snapshotName)
{
virVBoxSnapshotConfSnapshotPtr snapshot = NULL;
if (machine == NULL) {
@@ -1237,7 +1268,9 @@ int virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine,
*fills a list of read-write disk paths.
*return array length on success, -1 on failure.
*/
-int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***rwDisksPath)
+int
+virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(const char *filePath,
+ char ***rwDisksPath)
{
int result = -1;
size_t i = 0;
@@ -1246,6 +1279,7 @@ int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***rwD
xmlXPathContextPtr xPathContext = NULL;
xmlNodePtr *nodes = NULL;
int nodeSize = 0;
+ *rwDisksPath = NULL;
if (filePath == NULL) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("filePath is null"));
@@ -1281,10 +1315,13 @@ int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***rwD
xmlFreeDoc(xml);
xmlXPathFreeContext(xPathContext);
if (result < 0) {
- virStringFreeList(ret);
+ for (i = 0; i < nodeSize; i++)
+ VIR_FREE(ret[i]);
+ VIR_FREE(ret);
nodeSize = -1;
+ } else {
+ *rwDisksPath = ret;
}
- *rwDisksPath = ret;
return nodeSize;
}
@@ -1293,7 +1330,9 @@ int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***rwD
*a list of read-only disk paths (the parents of the read-write disks).
*return array length on success, -1 on failure.
*/
-int virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(char *filePath, char ***roDisksPath)
+int
+virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(const char *filePath,
+ char ***roDisksPath)
{
int result = -1;
size_t i = 0;
@@ -1349,7 +1388,9 @@ int virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(char *filePath, char ***roD
*hardDiskUuidByLocation: Return the uuid of the hard disk whose location is 'location'
*return a valid uuid, or NULL on failure
*/
-char *virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr machine, char *location)
+const char *
+virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr machine,
+ const char *location)
{
size_t i = 0;
virVBoxSnapshotConfHardDiskPtr hardDisk = NULL;
@@ -1368,9 +1409,10 @@ char *virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr ma
*This list begins with the requested disk, and ends with the farthest ancestor.
*return array length on success, -1 on failure.*/
-size_t virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine,
- virVBoxSnapshotConfHardDiskPtr **hardDiskToOpen,
- char *location)
+size_t
+virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine,
+ virVBoxSnapshotConfHardDiskPtr **hardDiskToOpen,
+ const char *location)
{
size_t i = 0;
size_t returnSize = 0;
@@ -1404,7 +1446,8 @@ size_t virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine,
*return 0 on success
*return -1 on failure
*/
-int virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine)
+int
+virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine)
{
int ret = -1;
size_t i = 0;
@@ -1444,7 +1487,9 @@ int virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine)
*return 1 if the disk is in the media registry
*return -1 on failure
*/
-int virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machine, char *location)
+int
+virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machine,
+ const char *location)
{
int ret = -1;
size_t i = 0;
@@ -1477,7 +1522,9 @@ int virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machi
/*
*hardDisksPtrByLocation: Return a vboxSnapshotXmlHardDiskPtr whose location is 'location'
*/
-virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskPtrByLocation(virVBoxSnapshotConfMachinePtr machine, char *location)
+virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfHardDiskPtrByLocation(virVBoxSnapshotConfMachinePtr machine,
+ const char *location)
{
int it = 0;
virVBoxSnapshotConfHardDiskPtr disk = NULL;
diff --git a/src/vbox/vbox_snapshot_conf.h b/src/vbox/vbox_snapshot_conf.h
index 59353b5..3864b30 100644
--- a/src/vbox/vbox_snapshot_conf.h
+++ b/src/vbox/vbox_snapshot_conf.h
@@ -81,25 +81,61 @@ struct _virVBoxSnapshotConfMachine {
char *storageController;
};
-void virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk);
-void virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry);
-void virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot);
-void virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine);
+void
+virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk);
+void
+virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry);
+void
+virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot);
+void
+virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine);
-virVBoxSnapshotConfMachinePtr virVBoxSnapshotConfLoadVboxFile(const char *filePath, char *machineLocation);
-int virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr snapshot, virVBoxSnapshotConfMachinePtr machine, char *snapshotParentName);
-int virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr hardDisk, virVBoxSnapshotConfMediaRegistryPtr mediaRegistry, char *parentHardDiskId);
-int virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine, char *snapshotName);
-int virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,char *uuid);
-int virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine, const char *filePath);
-int virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine, char *snapshotName);
-int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***realReadWriteDisksPath);
-int virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(char *filePath, char ***realReadOnlyDisksPath);
-char *virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr machine, char *location);
-size_t virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine, virVBoxSnapshotConfHardDiskPtr **hardDiskToOpen, char *location);
-int virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine);
-int virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machine, char *location);
-virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskPtrByLocation(virVBoxSnapshotConfMachinePtr machine, char *location);
-virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfSnapshotByName(virVBoxSnapshotConfSnapshotPtr snapshot, char *snapshotName);
+virVBoxSnapshotConfMachinePtr
+virVBoxSnapshotConfLoadVboxFile(const char *filePath,
+ const char *machineLocation);
+int
+virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr snapshot,
+ virVBoxSnapshotConfMachinePtr machine,
+ const char *snapshotParentName);
+int
+virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr hardDisk,
+ virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
+ const char *parentHardDiskId);
+int
+virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine,
+ const char *snapshotName);
+int
+virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
+ const char *uuid);
+int
+virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine,
+ const char *filePath);
+int
+virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine,
+ const char *snapshotName);
+int
+virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(const char *filePath,
+ char ***realReadWriteDisksPath);
+int
+virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(const char *filePath,
+ char ***realReadOnlyDisksPath);
+const char *
+virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr machine,
+ const char *location);
+size_t
+virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine,
+ virVBoxSnapshotConfHardDiskPtr **hardDiskToOpen,
+ const char *location);
+int
+virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine);
+int
+virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machine,
+ const char *location);
+virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfHardDiskPtrByLocation(virVBoxSnapshotConfMachinePtr machine,
+ const char *location);
+virVBoxSnapshotConfSnapshotPtr
+virVBoxSnapshotConfSnapshotByName(virVBoxSnapshotConfSnapshotPtr snapshot,
+ const char *snapshotName);
#endif /*VBOX_SNAPSHOT_CONF_H*/
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 498e2af..c999061 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -628,7 +628,7 @@ if WITH_VBOX
vboxsnapshotxmltest_SOURCES = \
vboxsnapshotxmltest.c \
testutils.c testutils.h
-vbox_LDADDS = ../src/libvirt_driver_vbox.la
+vbox_LDADDS = ../src/libvirt_driver_vbox_impl.la
vboxsnapshotxmltest_LDADD = $(LDADDS) $(vbox_LDADDS)
else ! WITH_VBOX
EXTRA_DIST += vboxsnapshotxmltest.c
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list