This patch has been successfully tested. Boot up a VM with a
virtio-mem device, hotplug some memory increasing the requested-size,
finally try to unplug the device and see the new message:
(qemu) device_del vmem0
Error: virtio-mem device cannot get unplugged while some of its memory
is still plugged
Tested-by: Mario Casquero <mcasquer@redhat.com>
On Tue, Apr 16, 2024 at 4:14 PM David Hildenbrand <david@redhat.com> wrote:
>
> The error message is actually expressive, considering QEMU only. But
> when called from Libvirt, talking about "size" can be confusing, because
> in Libvirt "size" translates to the memory backend size in QEMU (maximum
> size) and "current" translates to the QEMU "size" property.
>
> Let's simply avoid talking about the "size" property and spell out that
> some device memory is still plugged.
>
> Cc: Liang Cong <lcong@redhat.com>
> Cc: Mario Casquero <mcasquer@redhat.com>
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Signed-off-by: David Hildenbrand <david@redhat.com>
> ---
> hw/virtio/virtio-mem.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/virtio/virtio-mem.c b/hw/virtio/virtio-mem.c
> index ffd119ebac..ef64bf1b4a 100644
> --- a/hw/virtio/virtio-mem.c
> +++ b/hw/virtio/virtio-mem.c
> @@ -1832,8 +1832,8 @@ static void virtio_mem_unplug_request_check(VirtIOMEM *vmem, Error **errp)
> }
>
> if (vmem->size) {
> - error_setg(errp, "virtio-mem device cannot get unplugged while"
> - " '" VIRTIO_MEM_SIZE_PROP "' != '0'");
> + error_setg(errp, "virtio-mem device cannot get unplugged while some"
> + " of its memory is still plugged");
> return;
> }
> if (vmem->requested_size) {
> --
> 2.44.0
>