block QMP: Deprecate query-block's "type", drop info block's "type="
commitd8aeeb31d53a07a0cce36c7bcf53684953c2e445
authorMarkus Armbruster <armbru@redhat.com>
Mon, 16 May 2011 13:04:55 +0000 (16 15:04 +0200)
committerKevin Wolf <kwolf@redhat.com>
Thu, 19 May 2011 08:26:19 +0000 (19 10:26 +0200)
tree77606563f803e0e9ac7e6a22c2d438a105bbcdb2
parentaf6bf1328ef90fae617857c02697e0174b84d596
block QMP: Deprecate query-block's "type", drop info block's "type="

query-block's specification documents response member "type" with
values "hd", "cdrom", "floppy", "unknown".

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.

No known user of QMP uses "type".  It's unlikely that any unknown
users exist, because its value is useless unless you know how the
block device was created.  But then you also know the true value.

Fixing the broken value risks breaking (hypothetical!) clients that
somehow rely on the current behavior.  Not fixing the value risks
breaking (hypothetical!) clients that rely on the value to be
accurate.  Can't entirely avoid hypothetical lossage.  Change the
value to be always "unknown".

This makes "info block" always report "type=unknown".  Pointless.
Change it to not report the type.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block.c
qmp-commands.hx