util: storagefile: Add fields from virStorageMetadata to virStorageSource

Add the required fields that are missing from the new structure that
will allow us to switch the storage file metadata code entirely to the
new structure.

Add "relPath" and "relDir" and the raw backing store name. Also allow
creating linked lists of virStorageSourcePtrs to express backing chains.
This commit is contained in:
Peter Krempa 2014-04-17 16:04:33 +02:00
parent 0bd54a10bd
commit 0b5161d9c5
2 changed files with 21 additions and 0 deletions

View File

@ -1718,6 +1718,13 @@ virStorageSourceClear(virStorageSourcePtr def)
virStorageNetHostDefFree(def->nhosts, def->hosts);
virStorageSourceAuthClear(def);
VIR_FREE(def->relPath);
VIR_FREE(def->relDir);
VIR_FREE(def->backingStoreRaw);
/* recursively free backing chain */
virStorageSourceFree(def->backingMeta);
}

View File

@ -271,8 +271,22 @@ struct _virStorageSource {
size_t nseclabels;
virSecurityDeviceLabelDefPtr *seclabels;
/* backing chain of the storage source */
virStorageSourcePtr backingMeta;
/* metadata for storage driver access to remote and local volumes */
virStorageDriverDataPtr drv;
/* metadata about storage image which need separate fields */
/* Name of the current file as spelled by the user (top level) or
* metadata of the overlay (if this is a backing store). */
char *relPath;
/* Directory to start from if backingStoreRaw is a relative file
* name. */
char *relDir;
/* Name of the child backing store recorded in metadata of the
* current file. */
char *backingStoreRaw;
};