提交 7b47a8f8 编写于 作者: P Peter Krempa

qemu: block: explicitly pass backing store to qemuBlockStorageSourceAttachPrepareBlockdev

Pass backing store as an argument rather than extracting it locally and
fix the callers.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 eee85c23
...@@ -1464,6 +1464,7 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachDataPtr data) ...@@ -1464,6 +1464,7 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachDataPtr data)
/** /**
* qemuBlockStorageSourceAttachPrepareBlockdev: * qemuBlockStorageSourceAttachPrepareBlockdev:
* @src: storage source to prepare data from * @src: storage source to prepare data from
* @backingStore: storage source to use as backing of @src
* @autoreadonly: use 'auto-read-only' feature of qemu * @autoreadonly: use 'auto-read-only' feature of qemu
* *
* Creates a qemuBlockStorageSourceAttachData structure containing data to attach * Creates a qemuBlockStorageSourceAttachData structure containing data to attach
...@@ -1478,6 +1479,7 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachDataPtr data) ...@@ -1478,6 +1479,7 @@ qemuBlockStorageSourceAttachDataFree(qemuBlockStorageSourceAttachDataPtr data)
*/ */
qemuBlockStorageSourceAttachDataPtr qemuBlockStorageSourceAttachDataPtr
qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src, qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src,
virStorageSourcePtr backingStore,
bool autoreadonly) bool autoreadonly)
{ {
VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL; VIR_AUTOPTR(qemuBlockStorageSourceAttachData) data = NULL;
...@@ -1486,7 +1488,7 @@ qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src, ...@@ -1486,7 +1488,7 @@ qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src,
return NULL; return NULL;
if (!(data->formatProps = qemuBlockStorageSourceGetBlockdevProps(src, if (!(data->formatProps = qemuBlockStorageSourceGetBlockdevProps(src,
src->backingStore)) || backingStore)) ||
!(data->storageProps = qemuBlockStorageSourceGetBackendProps(src, false, !(data->storageProps = qemuBlockStorageSourceGetBackendProps(src, false,
false, false,
autoreadonly))) autoreadonly)))
......
...@@ -109,6 +109,7 @@ VIR_DEFINE_AUTOPTR_FUNC(qemuBlockStorageSourceAttachData, ...@@ -109,6 +109,7 @@ VIR_DEFINE_AUTOPTR_FUNC(qemuBlockStorageSourceAttachData,
qemuBlockStorageSourceAttachDataPtr qemuBlockStorageSourceAttachDataPtr
qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src, qemuBlockStorageSourceAttachPrepareBlockdev(virStorageSourcePtr src,
virStorageSourcePtr backingStore,
bool autoreadonly); bool autoreadonly);
qemuBlockStorageSourceAttachDataPtr qemuBlockStorageSourceAttachDataPtr
......
...@@ -10727,7 +10727,7 @@ qemuBuildStorageSourceChainAttachPrepareBlockdevOne(qemuBlockStorageSourceChainD ...@@ -10727,7 +10727,7 @@ qemuBuildStorageSourceChainAttachPrepareBlockdevOne(qemuBlockStorageSourceChainD
{ {
VIR_AUTOPTR(qemuBlockStorageSourceAttachData) elem = NULL; VIR_AUTOPTR(qemuBlockStorageSourceAttachData) elem = NULL;
if (!(elem = qemuBlockStorageSourceAttachPrepareBlockdev(src, true))) if (!(elem = qemuBlockStorageSourceAttachPrepareBlockdev(src, src->backingStore, true)))
return -1; return -1;
if (qemuBuildStorageSourceAttachPrepareCommon(src, elem, qemuCaps) < 0) if (qemuBuildStorageSourceAttachPrepareCommon(src, elem, qemuCaps) < 0)
......
...@@ -832,7 +832,9 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriverPtr driver, ...@@ -832,7 +832,9 @@ qemuMigrationSrcNBDStorageCopyBlockdev(virQEMUDriverPtr driver,
/* Migration via blockdev-mirror was supported sooner than the auto-read-only /* Migration via blockdev-mirror was supported sooner than the auto-read-only
* feature was added to qemu */ * feature was added to qemu */
if (!(data = qemuBlockStorageSourceAttachPrepareBlockdev(copysrc, false))) if (!(data = qemuBlockStorageSourceAttachPrepareBlockdev(copysrc,
copysrc->backingStore,
false)))
goto cleanup; goto cleanup;
if (qemuDomainObjEnterMonitorAsync(driver, vm, if (qemuDomainObjEnterMonitorAsync(driver, vm,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册