提交 ee4d2df8 编写于 作者: P Peter Krempa

storage: Fill in 'type' field for virStorageSource in storage driver

Storage driver uses virStorageSource only partially to store it's
configuration but fully when parsing backing files of storage volumes.
This patch sets the 'type' field to a value other than
VIR_STORAGE_TYPE_NONE so that further patches can add a terminator
element to backing chains without breaking iteration.
上级 e3fb414e
...@@ -1109,6 +1109,8 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool, ...@@ -1109,6 +1109,8 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
if (VIR_ALLOC(ret) < 0) if (VIR_ALLOC(ret) < 0)
return NULL; return NULL;
ret->target.type = VIR_STORAGE_TYPE_FILE;
ret->name = virXPathString("string(./name)", ctxt); ret->name = virXPathString("string(./name)", ctxt);
if (ret->name == NULL) { if (ret->name == NULL) {
virReportError(VIR_ERR_XML_ERROR, "%s", virReportError(VIR_ERR_XML_ERROR, "%s",
...@@ -1133,6 +1135,8 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool, ...@@ -1133,6 +1135,8 @@ virStorageVolDefParseXML(virStoragePoolDefPtr pool,
if (VIR_ALLOC(ret->target.backingStore) < 0) if (VIR_ALLOC(ret->target.backingStore) < 0)
goto error; goto error;
ret->target.backingStore->type = VIR_STORAGE_TYPE_FILE;
ret->target.backingStore->path = backingStore; ret->target.backingStore->path = backingStore;
backingStore = NULL; backingStore = NULL;
......
...@@ -306,6 +306,8 @@ virStorageBackendGlusterRefreshVol(virStorageBackendGlusterStatePtr state, ...@@ -306,6 +306,8 @@ virStorageBackendGlusterRefreshVol(virStorageBackendGlusterStatePtr state,
if (VIR_ALLOC(vol->target.backingStore) < 0) if (VIR_ALLOC(vol->target.backingStore) < 0)
goto cleanup; goto cleanup;
vol->target.backingStore->type = VIR_STORAGE_TYPE_NETWORK;
vol->target.backingStore->path = meta->backingStoreRaw; vol->target.backingStore->path = meta->backingStoreRaw;
if (backingFormat < 0) if (backingFormat < 0)
......
...@@ -340,6 +340,7 @@ virStorageBackendLogicalMakeVol(char **const groups, ...@@ -340,6 +340,7 @@ virStorageBackendLogicalMakeVol(char **const groups,
goto cleanup; goto cleanup;
vol->target.backingStore->format = VIR_STORAGE_POOL_LOGICAL_LVM2; vol->target.backingStore->format = VIR_STORAGE_POOL_LOGICAL_LVM2;
vol->target.backingStore->type = VIR_STORAGE_TYPE_BLOCK;
} }
if (!vol->key && VIR_STRDUP(vol->key, groups[2]) < 0) if (!vol->key && VIR_STRDUP(vol->key, groups[2]) < 0)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册