}
VIR_FREE(def->source.extents);
- VIR_FREE(def->target.compat);
- virBitmapFree(def->target.features);
- VIR_FREE(def->target.path);
- if (def->target.perms) {
- VIR_FREE(def->target.perms->label);
- VIR_FREE(def->target.perms);
- }
- VIR_FREE(def->target.timestamps);
- virStorageEncryptionFree(def->target.encryption);
- VIR_FREE(def->backingStore.path);
- if (def->backingStore.perms) {
- VIR_FREE(def->backingStore.perms->label);
- VIR_FREE(def->backingStore.perms);
- }
- VIR_FREE(def->backingStore.timestamps);
- virStorageEncryptionFree(def->backingStore.encryption);
+ virStorageSourceClear(&def->target);
+ virStorageSourceClear(&def->backingStore);
VIR_FREE(def);
}
static int
virStorageVolTargetDefFormat(virStorageVolOptionsPtr options,
virBufferPtr buf,
- virStorageVolTargetPtr def,
+ virStorageSourcePtr def,
const char *type)
{
virBufferAsprintf(buf, "<%s>\n", type);
};
-/*
- * How the volume appears on the host
- */
-typedef struct _virStorageVolTarget virStorageVolTarget;
-typedef virStorageVolTarget *virStorageVolTargetPtr;
-struct _virStorageVolTarget {
- char *path;
- int format; /* enum virStorageFileFormat */
- virStoragePermsPtr perms;
- virStorageTimestampsPtr timestamps;
-
- /* The next three are currently only used in vol->target,
- * not in vol->backingStore. */
- virStorageEncryptionPtr encryption;
- virBitmapPtr features;
- char *compat;
-};
-
typedef struct _virStorageVolDef virStorageVolDef;
typedef virStorageVolDef *virStorageVolDefPtr;
struct _virStorageVolDef {
unsigned long long capacity; /* bytes */
virStorageVolSource source;
- virStorageVolTarget target;
- virStorageVolTarget backingStore;
+ virStorageSource target;
+ virStorageSource backingStore;
};
typedef struct _virStorageVolDefList virStorageVolDefList;
static int
-virStorageBackendDetectBlockVolFormatFD(virStorageVolTargetPtr target,
+virStorageBackendDetectBlockVolFormatFD(virStorageSourcePtr target,
int fd)
{
size_t i;
}
int
-virStorageBackendUpdateVolTargetInfo(virStorageVolTargetPtr target,
+virStorageBackendUpdateVolTargetInfo(virStorageSourcePtr target,
unsigned long long *allocation,
unsigned long long *capacity,
bool withBlockVolFormat,
* Returns 0 for success, -1 on a legitimate error condition.
*/
int
-virStorageBackendUpdateVolTargetInfoFD(virStorageVolTargetPtr target,
+virStorageBackendUpdateVolTargetInfoFD(virStorageSourcePtr target,
int fd,
struct stat *sb,
unsigned long long *allocation,
bool withCapacity,
bool withBlockVolFormat,
unsigned int openflags);
-int virStorageBackendUpdateVolTargetInfo(virStorageVolTargetPtr target,
+int virStorageBackendUpdateVolTargetInfo(virStorageSourcePtr target,
unsigned long long *allocation,
unsigned long long *capacity,
bool withBlockVolFormat,
unsigned int openflags);
-int virStorageBackendUpdateVolTargetInfoFD(virStorageVolTargetPtr target,
+int virStorageBackendUpdateVolTargetInfoFD(virStorageSourcePtr target,
int fd,
struct stat *sb,
unsigned long long *allocation,
~VIR_STORAGE_VOL_OPEN_ERROR)
static int ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3)
-virStorageBackendProbeTarget(virStorageVolTargetPtr target,
+virStorageBackendProbeTarget(virStorageSourcePtr target,
char **backingStore,
int *backingStoreFormat,
unsigned long long *allocation,