On 26.10.2017 16:18, Peter Krempa wrote: > On Thu, Oct 26, 2017 at 13:09:25 +0100, Daniel Berrange wrote: >> On Thu, Oct 26, 2017 at 03:04:08PM +0300, Nikolay Shirokovskiy wrote: >>> if image format probing is on and image format of iso file >>> is not specified qemu fail to start a domain or change disk >>> media giving errors like [1]. The problem is format is being >>> detected as 'iso' and qemu expect format to be raw for iso >>> images. >>> >>> It makes sense to me because iso refers to filesystem format >>> in image not image format itself. Thus let's just convert >>> iso to raw in case of qemu. >>> >>> There is a similar patch for storage pools - 0e5db762. >>> >>> [1] Unknown driver 'iso' >>> >>> --- >>> >>> ISO as image format was added right at the beginning by e266ded2f >>> without any further comments. Maybe we just can drop ISO from image >>> formats entirely as it is not image format or some hypervisors >>> treat it in a special way? >> >> Yeah, I'm inclined to say we can drop it. I don't recall either Xen or >> QEMU caring about an 'iso' disk format > > The hypervisors probably don't care about this but the storage driver > may care (At least for display purposes). > >>> src/qemu/qemu_domain.c | 7 ++++++- >>> 1 file changed, 6 insertions(+), 1 deletion(-) >>> >>> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c >>> index c7c9e94..3da9271 100644 >>> --- a/src/qemu/qemu_domain.c >>> +++ b/src/qemu/qemu_domain.c >>> @@ -6023,8 +6023,13 @@ qemuDomainDetermineDiskChain(virQEMUDriverPtr driver, >>> if (virStorageFileGetMetadata(disk->src, >>> uid, gid, >>> cfg->allowDiskFormatProbing, >>> - report_broken) < 0) >>> + report_broken) < 0) { >>> ret = -1; >>> + goto cleanup; >>> + } >>> + >>> + if (virDomainDiskGetFormat(disk) == VIR_STORAGE_FILE_ISO) >>> + virDomainDiskSetFormat(disk, VIR_STORAGE_FILE_RAW); > > This is not the right place and also not the correct way. We should > reject using ISO as a format if qemu will not support it as an invalid > configuration rather than silently turn it into raw. But I want to fix the case when iso format is autodetected not specified exlicitly. If we still want to fail in the latter case I guess I can add check that iso comes from autodetection. > > The only acceptable place to turn ISO -> RAW is when it's comming from > the storage driver via <disk type=volume> > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list