qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Can not use hmp block_resize command with -blockdev option


From: Kevin Wolf
Subject: Re: Can not use hmp block_resize command with -blockdev option
Date: Thu, 18 Mar 2021 17:17:50 +0100

Am 18.03.2021 um 16:15 hat zhao xiaojun geschrieben:
> Thanks you, that's really good idea. And I also have the following question:
> 
> There are some hmp and qmp commands in my scripts, they need the device as
> an argument. Recently. i used the -blockdev replace the -drive to
> specify the disk drive, then use  qmp's query_block to query the device,
> but the device is NULL string. For the hmp's block_resize, I can use qmp's
> block_resize do. But the other commands(qpm's block-job-cancel etc.), they
> only support the device argument. So I can only continue to use -drive to
> specify disk drive.
> 
> I was trying to see the source(qemu v5.1.0):
> qmp_query_device()
>   -> bdrv_query_info()
>       info->device = g_strdup(blk_name(blk))
> the device is set to blk_name(blk), and the blk->name is set in
> the monitor_add_blk()
> 
> the -blockdev:
> qmp_blockdev_add()
>    -> bds_tree_init()
>      -> bdrv_open()
>    ...
> the qmp_blockdev_add() doesn't call the monitor_add_blk().
> 
> Questions:
> Why can not qmp_blockdev_add() call the monitor_add_blk()?
> Will the hmp and qmp commands that only support device as an argument be
> compat with the -blockdev option?

QMP doesn't have such commands. For commands that operate on the
frontend (the guest device), they accept the id of the -device. For
commands that relate to the backend, you can specify node-name.

It's only HMP that may not support these alternatives in some places. We
can just extend it.

Kevin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]