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#...
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...
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?