* [Qemu-devel] [PATCH] hmp: Allow using a qdev id in block_set_io_throttle
@ 2018-03-09 14:11 Alberto Garcia
2018-03-09 14:52 ` Eric Blake
2018-05-08 12:06 ` Kevin Wolf
0 siblings, 2 replies; 3+ messages in thread
From: Alberto Garcia @ 2018-03-09 14:11 UTC (permalink / raw)
To: qemu-devel
Cc: Alberto Garcia, qemu-block, Markus Armbruster, Kevin Wolf, Max Reitz
The QMP version of this command can take a qdev ID since 7a9877a02635,
but the HMP version is still using the deprecated block device name so
there's no way to refer to a block device added like this:
-blockdev node-name=disk0,driver=qcow2,file.driver=file,file.filename=hd.qcow2
-device virtio-blk-pci,id=virtio-blk-pci0,drive=disk0
This patch works around this problem by using the specified name as a
qdev ID if the block device name is not found.
Signed-off-by: Alberto Garcia <berto@igalia.com>
---
hmp-commands.hx | 3 ++-
hmp.c | 14 ++++++++++++--
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/hmp-commands.hx b/hmp-commands.hx
index 964eb515cf..097ed0909b 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -1645,7 +1645,8 @@ ETEXI
STEXI
@item block_set_io_throttle @var{device} @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
@findex block_set_io_throttle
-Change I/O throttle limits for a block drive to @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}
+Change I/O throttle limits for a block drive to @var{bps} @var{bps_rd} @var{bps_wr} @var{iops} @var{iops_rd} @var{iops_wr}.
+@var{device} can be a block device name, a qdev ID or a QOM path.
ETEXI
{
diff --git a/hmp.c b/hmp.c
index 016cb5c4f1..8520d86869 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1774,9 +1774,8 @@ void hmp_change(Monitor *mon, const QDict *qdict)
void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
{
Error *err = NULL;
+ char *device = (char *) qdict_get_str(qdict, "device");
BlockIOThrottle throttle = {
- .has_device = true,
- .device = (char *) qdict_get_str(qdict, "device"),
.bps = qdict_get_int(qdict, "bps"),
.bps_rd = qdict_get_int(qdict, "bps_rd"),
.bps_wr = qdict_get_int(qdict, "bps_wr"),
@@ -1785,6 +1784,17 @@ void hmp_block_set_io_throttle(Monitor *mon, const QDict *qdict)
.iops_wr = qdict_get_int(qdict, "iops_wr"),
};
+ /* qmp_block_set_io_throttle has separate parameters for the
+ * (deprecated) block device name and the qdev ID but the HMP
+ * version has only one, so we must decide which one to pass. */
+ if (blk_by_name(device)) {
+ throttle.has_device = true;
+ throttle.device = device;
+ } else {
+ throttle.has_id = true;
+ throttle.id = device;
+ }
+
qmp_block_set_io_throttle(&throttle, &err);
hmp_handle_error(mon, &err);
}
--
2.11.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] hmp: Allow using a qdev id in block_set_io_throttle
2018-03-09 14:11 [Qemu-devel] [PATCH] hmp: Allow using a qdev id in block_set_io_throttle Alberto Garcia
@ 2018-03-09 14:52 ` Eric Blake
2018-05-08 12:06 ` Kevin Wolf
1 sibling, 0 replies; 3+ messages in thread
From: Eric Blake @ 2018-03-09 14:52 UTC (permalink / raw)
To: Alberto Garcia, qemu-devel
Cc: Kevin Wolf, Markus Armbruster, qemu-block, Max Reitz
On 03/09/2018 08:11 AM, Alberto Garcia wrote:
> The QMP version of this command can take a qdev ID since 7a9877a02635,
> but the HMP version is still using the deprecated block device name so
> there's no way to refer to a block device added like this:
>
> -blockdev node-name=disk0,driver=qcow2,file.driver=file,file.filename=hd.qcow2
> -device virtio-blk-pci,id=virtio-blk-pci0,drive=disk0
>
> This patch works around this problem by using the specified name as a
> qdev ID if the block device name is not found.
>
> Signed-off-by: Alberto Garcia <berto@igalia.com>
> ---
> hmp-commands.hx | 3 ++-
> hmp.c | 14 ++++++++++++--
> 2 files changed, 14 insertions(+), 3 deletions(-)
>
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PATCH] hmp: Allow using a qdev id in block_set_io_throttle
2018-03-09 14:11 [Qemu-devel] [PATCH] hmp: Allow using a qdev id in block_set_io_throttle Alberto Garcia
2018-03-09 14:52 ` Eric Blake
@ 2018-05-08 12:06 ` Kevin Wolf
1 sibling, 0 replies; 3+ messages in thread
From: Kevin Wolf @ 2018-05-08 12:06 UTC (permalink / raw)
To: Alberto Garcia; +Cc: qemu-devel, qemu-block, Markus Armbruster, Max Reitz
Am 09.03.2018 um 15:11 hat Alberto Garcia geschrieben:
> The QMP version of this command can take a qdev ID since 7a9877a02635,
> but the HMP version is still using the deprecated block device name so
> there's no way to refer to a block device added like this:
>
> -blockdev node-name=disk0,driver=qcow2,file.driver=file,file.filename=hd.qcow2
> -device virtio-blk-pci,id=virtio-blk-pci0,drive=disk0
>
> This patch works around this problem by using the specified name as a
> qdev ID if the block device name is not found.
>
> Signed-off-by: Alberto Garcia <berto@igalia.com>
Thanks, applied to the block branch.
Kevin
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-05-08 12:06 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-09 14:11 [Qemu-devel] [PATCH] hmp: Allow using a qdev id in block_set_io_throttle Alberto Garcia
2018-03-09 14:52 ` Eric Blake
2018-05-08 12:06 ` Kevin Wolf
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.