Now that storage source metadata is stored in a single struct we don't
need two initialization functions for different structs.
---
src/qemu/qemu_driver.c | 6 +++---
src/storage/storage_backend.c | 1 +
src/storage/storage_driver.c | 41 +++++++----------------------------------
src/storage/storage_driver.h | 8 +++-----
4 files changed, 14 insertions(+), 42 deletions(-)
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 5b0e484..d824e24 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -12489,7 +12489,7 @@ qemuDomainSnapshotPrepareDiskExternal(virConnectPtr conn,
return -1;
}
- if (!(snapfile = virStorageFileInitFromSnapshotDef(snapdisk)))
+ if (!(snapfile = virStorageFileInit(&snapdisk->src)))
return -1;
if (virStorageFileStat(snapfile, &st) < 0) {
@@ -12757,7 +12757,7 @@ qemuDomainSnapshotCreateSingleDiskActive(virQEMUDriverPtr driver,
virStorageFileFreeMetadata(disk->backingChain);
disk->backingChain = NULL;
- if (!(snapfile = virStorageFileInitFromSnapshotDef(snap)))
+ if (!(snapfile = virStorageFileInit(&snap->src)))
goto cleanup;
if (qemuDomainSnapshotDiskGetSourceString(snap, &source) < 0)
@@ -12914,7 +12914,7 @@ qemuDomainSnapshotUndoSingleDiskActive(virQEMUDriverPtr driver,
virStorageFilePtr diskfile = NULL;
struct stat st;
- diskfile = virStorageFileInitFromDiskDef(disk);
+ diskfile = virStorageFileInit(&disk->src);
if (VIR_STRDUP(source, origdisk->src.path) < 0 ||
(persistDisk && VIR_STRDUP(persistSource, source) < 0))
diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
index b56fefe..8f9df78 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -55,6 +55,7 @@
#include "virfile.h"
#include "stat-time.h"
#include "virstring.h"
+#include "virxml.h"
#if WITH_STORAGE_LVM
# include "storage_backend_logical.h"
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index 629525a..b26d791 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -2747,26 +2747,22 @@ virStorageFileFree(virStorageFilePtr file)
}
-static virStorageFilePtr
-virStorageFileInitInternal(int type,
- const char *path,
- int protocol,
- size_t nhosts,
- virStorageNetHostDefPtr hosts)
+virStorageFilePtr
+virStorageFileInit(virStorageSourcePtr src)
{
virStorageFilePtr file = NULL;
if (VIR_ALLOC(file) < 0)
return NULL;
- file->type = type;
- file->protocol = protocol;
- file->nhosts = nhosts;
+ file->type = virStorageSourceGetActualType(src);
+ file->protocol = src->protocol;
+ file->nhosts = src->nhosts;
- if (VIR_STRDUP(file->path, path) < 0)
+ if (VIR_STRDUP(file->path, src->path) < 0)
goto error;
- if (!(file->hosts = virStorageNetHostDefCopy(nhosts, hosts)))
+ if (!(file->hosts = virStorageNetHostDefCopy(src->nhosts, src->hosts)))
goto error;
if (!(file->backend = virStorageFileBackendForType(file->type,
@@ -2787,29 +2783,6 @@ virStorageFileInitInternal(int type,
}
-virStorageFilePtr
-virStorageFileInitFromDiskDef(virDomainDiskDefPtr disk)
-{
- return virStorageFileInitInternal(virStorageSourceGetActualType(&disk->src),
- disk->src.path,
- disk->src.protocol,
- disk->src.nhosts,
- disk->src.hosts);
-}
-
-
-virStorageFilePtr
-virStorageFileInitFromSnapshotDef(virDomainSnapshotDiskDefPtr disk)
-{
- return virStorageFileInitInternal(virStorageSourceGetActualType(&disk->src),
- disk->src.path,
- disk->src.protocol,
- disk->src.nhosts,
- disk->src.hosts);
-}
-
-
-
/**
* virStorageFileCreate: Creates an empty storage file via storage driver
*
diff --git a/src/storage/storage_driver.h b/src/storage/storage_driver.h
index 886a4d5..d5dda00 100644
--- a/src/storage/storage_driver.h
+++ b/src/storage/storage_driver.h
@@ -25,8 +25,8 @@
# define __VIR_STORAGE_DRIVER_H__
# include "storage_conf.h"
-# include "conf/domain_conf.h"
-# include "conf/snapshot_conf.h"
+# include "virstoragefile.h"
+# include <sys/stat.h>
typedef struct _virStorageFileBackend virStorageFileBackend;
typedef virStorageFileBackend *virStorageFileBackendPtr;
@@ -46,9 +46,7 @@ struct _virStorageFile {
};
virStorageFilePtr
-virStorageFileInitFromDiskDef(virDomainDiskDefPtr disk);
-virStorageFilePtr
-virStorageFileInitFromSnapshotDef(virDomainSnapshotDiskDefPtr disk);
+virStorageFileInit(virStorageSourcePtr src);
void virStorageFileFree(virStorageFilePtr file);
int virStorageFileCreate(virStorageFilePtr file);
--
1.9.1