qemu-kvm: file driver requires to be a regular file for ZFS volume
After one of the recent updates, a few KVM-based systems could not boot anymore.
I am using ZFS for my emulated block devices, and I was happy with that until recently. Now – VMs won’t start, showing the error message in this post’s header.
The source of the problem is rather nasty – qemu update to version 6 has changed compatibility (see here) and libvirt has not followed through.
An ugly workaround is to modify the XML directly (either using Virt-Manager or using text editor of the VM’s XML) and modify the disk to the following. Change ‘file’ into ‘block’ as the type, and change source from ‘file’ type to ‘dev’ type.
An example:
<disk type="block" device="disk">
<driver name="qemu" type="raw"/>
<source dev="/dev/share/VMs/hassos-updated.lun"/>
<target dev="vda" bus="virtio"/>
<address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
</disk>