Hi On Wed, Aug 26, 2026 at 4:44 PM Philippe Mathieu-Daudé <[email protected]> wrote: > > On 25/8/26 21:09, Marc-André Lureau wrote: > > Add an x-qemu-io QMP command that runs qemu-io commands on block > > devices. The command accepts a device name (block backend name, > > node-name, or qdev ID) and a qemu-io command string. > > > > Refactor hmp_qemu_io() to be a thin wrapper around the new QMP > > command, following the standard HMP-over-QMP pattern used by other > > block commands. > > > > This change is also required for the qtest qemu-io command in the > > following patch. > > > > Reviewed-by: Daniel P. Berrangé <[email protected]> > > Signed-off-by: Marc-André Lureau <[email protected]> > > --- > > block/monitor/block-hmp-cmds.c | 60 ++------------------------------ > > block/monitor/meson.build | 1 + > > block/monitor/qmp-cmds.c | 79 > > ++++++++++++++++++++++++++++++++++++++++++ > > qapi/block.json | 34 ++++++++++++++++++ > > 4 files changed, 117 insertions(+), 57 deletions(-) > > > > diff --git a/qapi/block.json b/qapi/block.json > > index 46955bbb3e34..012a9d73333b 100644 > > --- a/qapi/block.json > > +++ b/qapi/block.json > > @@ -603,3 +603,37 @@ > > '*boundaries-zap': ['uint64'], > > '*boundaries-flush': ['uint64'] }, > > 'allow-preconfig': true } > > + > > +## > > +# @x-qemu-io: > > +# > > +# Run a qemu-io command on a block device. Take either a block > > +# backend name or a qdev ID to identify the device. > > +# > > +# @device: the block backend name, node-name to run the > > +# command on. > > +# > > +# @qdev: the qdev ID of the block device to run the > > +# command on. > > +# > > +# @command: the qemu-io command string to execute. > > +# > > +# Features: > > +# > > +# @unstable: This command is for testing only. > > +# > > +# Since: 11.2 > > +# > > +# .. qmp-example:: > > +# > > +# -> { "execute": "x-qemu-io", > > +# "arguments": { "device": "virtio0", > > +# "command": "read 0 512" } } > > +# <- { "return": {} } > > +## > > +{ 'command': 'x-qemu-io', > > + 'data': { '*device': 'str', > > + '*qdev': 'str', > > + 'command': 'str' }, > > + 'features': [ 'unstable' ], > > + 'allow-preconfig': true } > > 'qemu-io' HMP command was a bad name decision. This is a good > opportunity to clean it: can we add QMP 'x-block-io' or > 'x-block-cmd' / 'x-block-command' instead? Keeping the legacy > HMP name (or adding an HMP alias)?
Given that it is a x- command, if you don't mind, we can easily decide and switch after this series.
