[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