[libvirt] [PATCH v3] qemu: don't check for backing chains for formats w/o snapshot support

Martin Kletzander mkletzan at redhat.com
Thu Apr 24 14:52:03 UTC 2014


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 at redhat.com>
>> ---
>>
>
>> +++ 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140424/46456814/attachment-0001.sig>


More information about the libvir-list mailing list