}
-static int
+int
qemuDomainValidateStorageSource(virStorageSourcePtr src,
virQEMUCapsPtr qemuCaps)
{
goto cleanup;
for (n = src; virStorageSourceIsBacking(n); n = n->backingStore) {
+ if (qemuDomainValidateStorageSource(n, priv->qemuCaps) < 0)
+ goto cleanup;
+
if (qemuDomainPrepareDiskSourceData(disk, n, cfg, priv->qemuCaps) < 0)
goto cleanup;
}
src->debugLevel = cfg->glusterDebugLevel;
}
- if (qemuDomainValidateStorageSource(src, qemuCaps) < 0)
- return -1;
-
/* transfer properties valid for the full chain */
src->iomode = disk->iomode;
src->cachemode = disk->cachemode;
{
qemuDomainPrepareDiskCachemode(disk);
+ if (qemuDomainValidateStorageSource(disk->src, priv->qemuCaps) < 0)
+ return -1;
+
if (qemuDomainPrepareDiskSourceTLS(disk->src, cfg) < 0)
return -1;
virQEMUCapsPtr qemuCaps)
ATTRIBUTE_RETURN_CHECK;
+
+int
+qemuDomainValidateStorageSource(virStorageSourcePtr src,
+ virQEMUCapsPtr qemuCaps);
+
+
int
qemuDomainPrepareDiskSource(virDomainDiskDefPtr disk,
qemuDomainObjPrivatePtr priv,
if (testQemuDiskXMLToJSONFakeSecrets(n) < 0)
goto cleanup;
+ if (qemuDomainValidateStorageSource(n, data->qemuCaps) < 0)
+ goto cleanup;
+
if (qemuDomainPrepareDiskSourceData(disk, n, NULL, data->qemuCaps) < 0)
goto cleanup;