[libvirt] [PATCH] qemu: don't call virFileExists() for network type disks

Peter Krempa pkrempa at redhat.com
Tue Apr 29 08:18:28 UTC 2014


On 04/29/14 09:41, Martin Kletzander wrote:
> 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 at redhat.com>
> ---
>  src/qemu/qemu_domain.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index ab19738..f412f49 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -2270,6 +2270,7 @@ qemuDomainCheckDiskPresence(virQEMUDriverPtr driver,
>          disk = vm->def->disks[i - 1];
>          const char *path = virDomainDiskGetSource(disk);
>          enum virStorageFileFormat format = virDomainDiskGetFormat(disk);
> +        enum virStorageType type = virDomainDiskGetType(disk);

Hmmm, you should probably use virStorageSourceGetActualType here, but
this will require to move the call to qemuTranslateDiskSourcePool() in
qemuProcessStart() so that it's called before qemuDomainCheckDiskPresence.

That way we will be able to catch even when using _TYPE_VOLUME disks
that are network backed in disguise.

> 
>          if (!path)
>              continue;
> @@ -2277,7 +2278,8 @@ qemuDomainCheckDiskPresence(virQEMUDriverPtr driver,
>          /* 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 &&
> +        if (type != VIR_STORAGE_TYPE_NETWORK &&
> +            format >= VIR_STORAGE_FILE_NONE &&
>              format < VIR_STORAGE_FILE_BACKING &&
>              virFileExists(path))
>              continue;
> 

ACK with the suggested changes.

Peter


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20140429/fd792c09/attachment-0001.sig>


More information about the libvir-list mailing list