On Thu, Apr 24, 2014 at 08:36:30AM -0600, Eric Blake wrote:
On 04/24/2014 07:41 AM, Martin Kletzander wrote:Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1019926 Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=868673 Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> ---+++ b/src/qemu/qemu_domain.c @@ -2268,8 +2268,18 @@ qemuDomainCheckDiskPresence(virQEMUDriverPtr driver, VIR_DEBUG("Checking for disk presence"); for (i = vm->def->ndisks; i > 0; i--) { disk = vm->def->disks[i - 1]; + const char *path = virDomainDiskGetSource(disk); + enum virStorageFileFormat format = virDomainDiskGetFormat(disk); - if (!virDomainDiskGetSource(disk)) + if (!path) + continue; + + /* There is no need to check the backing chain for disks + * without backing support, the fact that the file exists is + * more than enough */ + if (format >= VIR_STORAGE_FILE_NONE && + format < VIR_STORAGE_FILE_BACKING && + virFileExists(path))Peter may have to further tweak this with his work on gluster patches (we should not be calling virFileExists() if virStorageIsFile(path) returns fals); but for now this is a strict improvement. ACK.
Oh, good point, the check could be extended to whether the storage type is network and so on, as we have already somewhere, but as you said, this will be changed many times probably, so I'll leave it on Peter and buy him a beer Sometimes(TM). Thanks, pushed now. Martin
Attachment:
signature.asc
Description: Digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list