qemu: don't call virFileExists() for network type disks

Based on suggestion from Eric [1], because it might not get cleaned up
before the release, so to avoid potential errors.

[1] https://www.redhat.com/archives/libvir-list/2014-April/msg00929.html

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
This commit is contained in:
Martin Kletzander 2014-04-29 09:20:26 +02:00
parent 6c19f0de49
commit f6ec6af8a6
2 changed files with 7 additions and 6 deletions

View File

@ -2270,6 +2270,7 @@ qemuDomainCheckDiskPresence(virQEMUDriverPtr driver,
disk = vm->def->disks[i - 1]; disk = vm->def->disks[i - 1];
const char *path = virDomainDiskGetSource(disk); const char *path = virDomainDiskGetSource(disk);
enum virStorageFileFormat format = virDomainDiskGetFormat(disk); enum virStorageFileFormat format = virDomainDiskGetFormat(disk);
enum virStorageType type = virStorageSourceGetActualType(&disk->src);
if (!path) if (!path)
continue; continue;
@ -2277,7 +2278,8 @@ qemuDomainCheckDiskPresence(virQEMUDriverPtr driver,
/* There is no need to check the backing chain for disks /* There is no need to check the backing chain for disks
* without backing support, the fact that the file exists is * without backing support, the fact that the file exists is
* more than enough */ * more than enough */
if (format >= VIR_STORAGE_FILE_NONE && if (type != VIR_STORAGE_TYPE_NETWORK &&
format >= VIR_STORAGE_FILE_NONE &&
format < VIR_STORAGE_FILE_BACKING && format < VIR_STORAGE_FILE_BACKING &&
virFileExists(path)) virFileExists(path))
continue; continue;

View File

@ -3807,11 +3807,6 @@ int qemuProcessStart(virConnectPtr conn,
if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0) if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0)
goto cleanup; goto cleanup;
if (qemuDomainCheckDiskPresence(driver, vm,
flags & VIR_QEMU_PROCESS_START_COLD) < 0)
goto cleanup;
/* Get the advisory nodeset from numad if 'placement' of /* Get the advisory nodeset from numad if 'placement' of
* either <vcpu> or <numatune> is 'auto'. * either <vcpu> or <numatune> is 'auto'.
*/ */
@ -3840,6 +3835,10 @@ int qemuProcessStart(virConnectPtr conn,
goto cleanup; goto cleanup;
} }
if (qemuDomainCheckDiskPresence(driver, vm,
flags & VIR_QEMU_PROCESS_START_COLD) < 0)
goto cleanup;
if (VIR_ALLOC(priv->monConfig) < 0) if (VIR_ALLOC(priv->monConfig) < 0)
goto cleanup; goto cleanup;