]> git.proxmox.com Git - mirror_qemu.git/commit
QemuOpts: Wean off qerror_report_err()
authorMarkus Armbruster <armbru@redhat.com>
Fri, 13 Feb 2015 11:50:26 +0000 (12:50 +0100)
committerMarkus Armbruster <armbru@redhat.com>
Mon, 22 Jun 2015 16:20:39 +0000 (18:20 +0200)
commit70b9433109ed99217b812f19800de550e2e0ecd5
tree5108fd06d2106dfc495b9defab7212eb89b65ab3
parentf006cf7fa9a63ba8e4ccf57d46231ce594301727
QemuOpts: Wean off qerror_report_err()

qerror_report_err() is a transitional interface to help with
converting existing monitor commands to QMP.  It should not be used
elsewhere.

The only remaining user in qemu-option.c is qemu_opts_parse().  Is it
used in QMP context?  If not, we can simply replace
qerror_report_err() by error_report_err().

The uses in qemu-img.c, qemu-io.c, qemu-nbd.c and under tests/ are
clearly not in QMP context.

The uses in vl.c aren't either, because the only QMP command handlers
there are qmp_query_status() and qmp_query_machines(), and they don't
call it.

Remaining uses:

* drive_def(): Command line -drive and such, HMP drive_add and pci_add

* hmp_chardev_add(): HMP chardev-add

* monitor_parse_command(): HMP core

* tmp_config_parse(): Command line -tpmdev

* net_host_device_add(): HMP host_net_add

* net_client_parse(): Command line -net and -netdev

* qemu_global_option(): Command line -global

* vnc_parse_func(): Command line -display, -vnc, default display, HMP
  change, QMP change.  Bummer.

* qemu_pci_hot_add_nic(): HMP pci_add

* usb_net_init(): Command line -usbdevice, HMP usb_add

Propagate errors through qemu_opts_parse().  Create a convenience
function qemu_opts_parse_noisily() that passes errors to
error_report_err().  Switch all non-QMP users outside tests to it.

That leaves vnc_parse_func().  Propagate errors through it.  Since I'm
touching it anyway, rename it to vnc_parse().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>
18 files changed:
blockdev.c
hmp.c
hw/usb/dev-network.c
include/qemu/option.h
include/ui/console.h
monitor.c
net/net.c
qdev-monitor.c
qemu-img.c
qemu-io.c
qemu-nbd.c
qmp.c
tests/test-opts-visitor.c
tests/test-qemu-opts.c
tpm.c
ui/vnc.c
util/qemu-option.c
vl.c