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 <mcasq...@redhat.com>


On Tue, Apr 16, 2024 at 4:14 PM David Hildenbrand <da...@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 <lc...@redhat.com>
> Cc: Mario Casquero <mcasq...@redhat.com>
> Cc: "Michael S. Tsirkin" <m...@redhat.com>
> Signed-off-by: David Hildenbrand <da...@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
>


Reply via email to