Message ID | 20240416141426.588544-1-david@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v1] virtio-mem: improve error message when unplug of device fails due to plugged memory | expand |
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 >
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) {
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(-)