On Tue, Jan 05, 2021 at 15:12:55 +0100, Peter Krempa wrote: > On Mon, Jan 04, 2021 at 15:30:19 -0500, Masayoshi Mizuma wrote: > > On Sat, Dec 19, 2020 at 11:30:39PM -0500, Masayoshi Mizuma wrote: [...] > {"execute":"cont"} > > So that is a no-go. Some disk bus-es such as IDE don't support hotplug: > > https://gitlab.com/libvirt/libvirt/-/blob/master/src/qemu/qemu_hotplug.c#L1074 > > You could try to just instantiate the backend of the disk as read-only, > and then create a writable overlay. You just need to make sure that the > disk will be writable and that it works even for IDE/SATA which doesn't > support read-only: > > https://gitlab.com/libvirt/libvirt/-/blob/master/src/qemu/qemu_validate.c#L2634 Okay, I've actually tried implementing my suggestion and that doesn't work. With scsi disks qemu crashes on an assertion failure when I try writing to the disk after setting it up as suggested and virtio disk returns an I/O error as it remembers that it was read-only when starting. I'm considering whether it's worth implementing this via hotplug then. Arguably simple deployments don't need it and complex ones have some kind of orchestration which can do it externally. This specifically comes with a caveat of the above, as currently the overlay used to discard writes is created under the same path as the image and can't be controlled, which might be a problem for complex deployments. Also the above algorithm with a constant suffix added to the image prevents to use it with multiple VMs anyways, since the overlay file name will collide (since it's generated based on the same rules). Didn't you run into the collision?