blockdev: Deprecate -drive with bogus interface type
commita1b40bda089e39b4dfad3cea72a696eb7bdef58e
authorMarkus Armbruster <armbru@redhat.com>
Mon, 22 Jun 2020 09:42:19 +0000 (22 11:42 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Tue, 23 Jun 2020 14:07:07 +0000 (23 16:07 +0200)
tree2f4a040e56c23045dab82ddbe047d2564a1c29c0
parent63d5dfbe0de3b021f285a471db632381561e1efb
blockdev: Deprecate -drive with bogus interface type

Drives with interface types other than if=none are for onboard
devices.  Unfortunately, any such drives the board doesn't pick up can
still be used with -device, like this:

    $ qemu-system-x86_64 -nodefaults -display none -S -drive if=floppy,id=bogus,unit=7 -device ide-cd,drive=bogus -monitor stdio
    QEMU 5.0.50 monitor - type 'help' for more information
    (qemu) info block
    bogus: [not inserted]
Attached to:      /machine/peripheral-anon/device[0]
Removable device: not locked, tray closed
    (qemu) info qtree
    bus: main-system-bus
      type System
      [...]
    bus: ide.1
      type IDE
      dev: ide-cd, id ""
---> drive = "bogus"
[...]
unit = 0 (0x0)
      [...]

This kind of abuse has always worked.  Deprecate it:

    qemu-system-x86_64: -drive if=floppy,id=bogus,unit=7: warning: bogus if=floppy is deprecated, use if=none

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200622094227.1271650-9-armbru@redhat.com>
blockdev.c
docs/system/deprecated.rst
include/sysemu/blockdev.h
softmmu/vl.c