From: Peter Krempa Date: Fri, 29 Nov 2019 12:25:47 +0000 (+0100) Subject: qemu: blockcopy: Report error on image format detection failure X-Git-Tag: v5.10.0~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c958b8eb46d05316ad19f581a00df47ed7c97b10;p=thirdparty%2Flibvirt.git qemu: blockcopy: Report error on image format detection failure We tolerate image format detection during block copy in very specific circumstances, but the code didn't error out on failure of the format detection. Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index b5300241a8..d72515f30f 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -18104,15 +18104,14 @@ qemuDomainBlockCopyCommon(virDomainObjPtr vm, if (!mirror_reuse) { mirror->format = disk->src->format; } else { - if (mirror_initialized && - virStorageSourceIsLocalStorage(mirror)) { - /* If the user passed the REUSE_EXT flag, then either they - * can also pass the RAW flag or use XML to tell us the format. - * So if we get here, we assume it is safe for us to probe the - * format from the file that we will be using. */ - mirror->format = virStorageFileProbeFormat(mirror->path, cfg->user, - cfg->group); - } else { + /* If the user passed the REUSE_EXT flag, then either they + * can also pass the RAW flag or use XML to tell us the format. + * So if we get here, we assume it is safe for us to probe the + * format from the file that we will be using. */ + if (!mirror_initialized || + !virStorageSourceIsLocalStorage(mirror) || + (mirror->format = virStorageFileProbeFormat(mirror->path, cfg->user, + cfg->group)) < 0) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("reused mirror destination format must be specified")); goto endjob;