Its value is unreliable: a block device used as floppy has type "floppy" if created with if=floppy, but type "hd" if created with if=none.
That's because with if=none, the type is at best a declaration of intent: the drive can be connected to any guest device. Its type is really the guest device's business. Reporting it here is wrong. Signed-off-by: Markus Armbruster <arm...@redhat.com> --- block.c | 20 +++----------------- qmp-commands.hx | 6 ------ 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/block.c b/block.c index f731c7a..c6dc42a 100644 --- a/block.c +++ b/block.c @@ -1704,9 +1704,8 @@ static void bdrv_print_dict(QObject *obj, void *opaque) bs_dict = qobject_to_qdict(obj); - monitor_printf(mon, "%s: type=%s removable=%d", + monitor_printf(mon, "%s: removable=%d", qdict_get_str(bs_dict, "device"), - qdict_get_str(bs_dict, "type"), qdict_get_bool(bs_dict, "removable")); if (qdict_get_bool(bs_dict, "removable")) { @@ -1747,23 +1746,10 @@ void bdrv_info(Monitor *mon, QObject **ret_data) QTAILQ_FOREACH(bs, &bdrv_states, list) { QObject *bs_obj; - const char *type = "unknown"; - - switch(bs->type) { - case BDRV_TYPE_HD: - type = "hd"; - break; - case BDRV_TYPE_CDROM: - type = "cdrom"; - break; - case BDRV_TYPE_FLOPPY: - type = "floppy"; - break; - } - bs_obj = qobject_from_jsonf("{ 'device': %s, 'type': %s, " + bs_obj = qobject_from_jsonf("{ 'device': %s, " "'removable': %i, 'locked': %i }", - bs->device_name, type, bs->removable, + bs->device_name, bs->removable, bs->locked); if (bs->drv) { diff --git a/qmp-commands.hx b/qmp-commands.hx index fbd98ee..b1c8206 100644 --- a/qmp-commands.hx +++ b/qmp-commands.hx @@ -1038,8 +1038,6 @@ is a json-array of all devices. Each json-object contain the following: - "device": device name (json-string) -- "type": device type (json-string) - - Possible values: "hd", "cdrom", "floppy", "unknown" - "removable": true if the device is removable, false otherwise (json-bool) - "locked": true if the device is locked, false otherwise (json-bool) - "inserted": only present if the device is inserted, it is a json-object @@ -1070,25 +1068,21 @@ Example: "encrypted":false, "file":"disks/test.img" }, - "type":"hd" }, { "device":"ide1-cd0", "locked":false, "removable":true, - "type":"cdrom" }, { "device":"floppy0", "locked":false, "removable":true, - "type": "floppy" }, { "device":"sd0", "locked":false, "removable":true, - "type":"floppy" } ] } -- 1.7.2.3