Commit e73fe2b4 authored by Wenchao Xia's avatar Wenchao Xia Committed by Stefan Hajnoczi
Browse files

hmp: add parameters device and -v for info block



With these parameters, user can choose the information to be showed,
to avoid message flood in the monitor.

Signed-off-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
parent bd093a36
Loading
Loading
Loading
Loading
+16 −9
Original line number Diff line number Diff line
@@ -280,10 +280,15 @@ void hmp_info_block(Monitor *mon, const QDict *qdict)
{
    BlockInfoList *block_list, *info;
    ImageInfo *image_info;
    const char *device = qdict_get_try_str(qdict, "device");
    bool verbose = qdict_get_try_bool(qdict, "verbose", 0);

    block_list = qmp_query_block(NULL);

    for (info = block_list; info; info = info->next) {
        if (device && strcmp(device, info->value->device)) {
            continue;
        }
        monitor_printf(mon, "%s: removable=%d",
                       info->value->device, info->value->removable);

@@ -322,17 +327,19 @@ void hmp_info_block(Monitor *mon, const QDict *qdict)
                            info->value->inserted->iops_rd,
                            info->value->inserted->iops_wr);

            if (verbose) {
                monitor_printf(mon, " images:\n");
                image_info = info->value->inserted->image;
                while (1) {
                bdrv_image_info_dump((fprintf_function)monitor_printf, mon,
                                     image_info);
                        bdrv_image_info_dump((fprintf_function)monitor_printf,
                                             mon, image_info);
                    if (image_info->has_backing_image) {
                        image_info = image_info->backing_image;
                    } else {
                        break;
                    }
                }
            }
        } else {
            monitor_printf(mon, " [not inserted]");
        }
+4 −3
Original line number Diff line number Diff line
@@ -2472,9 +2472,10 @@ static mon_cmd_t info_cmds[] = {
    },
    {
        .name       = "block",
        .args_type  = "",
        .params     = "",
        .help       = "show the block devices",
        .args_type  = "verbose:-v,device:B?",
        .params     = "[-v] [device]",
        .help       = "show info of one block device or all block devices "
                      "(and details of images with -v option)",
        .mhandler.cmd = hmp_info_block,
    },
    {