#
da34e65c |
| 14-Mar-2016 |
Markus Armbruster <armbru@redhat.com> |
include/qemu/osdep.h: Don't include qapi/error.h
Commit 57cb38b included qapi/error.h into qemu/osdep.h to get the Error typedef. Since then, we've moved to include qemu/osdep.h everywhere. Its fi
include/qemu/osdep.h: Don't include qapi/error.h
Commit 57cb38b included qapi/error.h into qemu/osdep.h to get the Error typedef. Since then, we've moved to include qemu/osdep.h everywhere. Its file comment explains: "To avoid getting into possible circular include dependencies, this file should not include any other QEMU headers, with the exceptions of config-host.h, compiler.h, os-posix.h and os-win32.h, all of which are doing a similar job to this file and are under similar constraints." qapi/error.h doesn't do a similar job, and it doesn't adhere to similar constraints: it includes qapi-types.h. That's in excess of 100KiB of crap most .c files don't actually need.
Add the typedef to qemu/typedefs.h, and include that instead of qapi/error.h. Include qapi/error.h in .c files that need it and don't get it now. Include qapi-types.h in qom/object.h for uint16List.
Update scripts/clean-includes accordingly. Update it further to match reality: replace config.h by config-target.h, add sysemu/os-posix.h, sysemu/os-win32.h. Update the list of includes in the qemu/osdep.h comment quoted above similarly.
This reduces the number of objects depending on qapi/error.h from "all of them" to less than a third. Unfortunately, the number depending on qapi-types.h shrinks only a little. More work is needed for that one.
Signed-off-by: Markus Armbruster <armbru@redhat.com> [Fix compilation without the spice devel packages. - Paolo] Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
#
681c28a3 |
| 08-Feb-2016 |
Peter Maydell <peter.maydell@linaro.org> |
tests: Clean up includes
Clean up includes so that osdep.h is included first and headers which it implies are not included manually.
This commit was created with scripts/clean-includes.
Signed-off
tests: Clean up includes
Clean up includes so that osdep.h is included first and headers which it implies are not included manually.
This commit was created with scripts/clean-includes.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Eric Blake <eblake@redhat.com> Tested-by: Eric Blake <eblake@redhat.com>
show more ...
|
#
70b94331 |
| 13-Feb-2015 |
Markus Armbruster <armbru@redhat.com> |
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
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>
show more ...
|
#
f43e47db |
| 12-Feb-2015 |
Markus Armbruster <armbru@redhat.com> |
QemuOpts: Drop qemu_opt_set(), rename qemu_opt_set_err(), fix use
qemu_opt_set() is a wrapper around qemu_opt_set() that reports the error with qerror_report_err().
Most of its users assume the fun
QemuOpts: Drop qemu_opt_set(), rename qemu_opt_set_err(), fix use
qemu_opt_set() is a wrapper around qemu_opt_set() that reports the error with qerror_report_err().
Most of its users assume the function can't fail. Make them use qemu_opt_set_err() with &error_abort, so that should the assumption ever break, it'll break noisily.
Just two users remain, in util/qemu-config.c. Switch them to qemu_opt_set_err() as well, then rename qemu_opt_set_err() to qemu_opt_set().
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
show more ...
|
#
79087c78 |
| 12-Feb-2015 |
Markus Armbruster <armbru@redhat.com> |
QemuOpts: Convert qemu_opts_set() to Error, fix its use
Return the Error object instead of reporting it with qerror_report_err().
Change callers that assume the function can't fail to pass &error_a
QemuOpts: Convert qemu_opts_set() to Error, fix its use
Return the Error object instead of reporting it with qerror_report_err().
Change callers that assume the function can't fail to pass &error_abort, so that should the assumption ever break, it'll break noisily.
Turns out all callers outside its unit test assume that. We could drop the Error ** argument, but that would make the interface less regular, so don't.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
show more ...
|
#
39101f25 |
| 12-Feb-2015 |
Markus Armbruster <armbru@redhat.com> |
QemuOpts: Convert qemu_opt_set_number() to Error, fix its use
Return the Error object instead of reporting it with qerror_report_err().
Change callers that assume the function can't fail to pass &e
QemuOpts: Convert qemu_opt_set_number() to Error, fix its use
Return the Error object instead of reporting it with qerror_report_err().
Change callers that assume the function can't fail to pass &error_abort, so that should the assumption ever break, it'll break noisily.
Turns out all callers outside its unit test assume that. We could drop the Error ** argument, but that would make the interface less regular, so don't.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
show more ...
|
#
cccb7967 |
| 12-Feb-2015 |
Markus Armbruster <armbru@redhat.com> |
QemuOpts: Convert qemu_opt_set_bool() to Error, fix its use
Return the Error object instead of reporting it with qerror_report_err().
Change callers that assume the function can't fail to pass &err
QemuOpts: Convert qemu_opt_set_bool() to Error, fix its use
Return the Error object instead of reporting it with qerror_report_err().
Change callers that assume the function can't fail to pass &error_abort, so that should the assumption ever break, it'll break noisily.
Turns out all callers outside its unit test assume that. We could drop the Error ** argument, but that would make the interface less regular, so don't.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com>
show more ...
|
#
748bfb4e |
| 07-Jul-2014 |
Stefan Weil <sw@weilnetz.de> |
tests: Add missing 'static' attributes (fix warnings from smatch)
Smatch also complains about 0 used for pointers, so replace those by NULL in test-visitor-serialization.c, too.
Signed-off-by: Stef
tests: Add missing 'static' attributes (fix warnings from smatch)
Smatch also complains about 0 used for pointers, so replace those by NULL in test-visitor-serialization.c, too.
Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
show more ...
|
#
4ba6fabf |
| 19-May-2014 |
Leandro Dorileo <l@dorileo.org> |
QemuOpt: add unit tests
Cover basic aspects and API usage for QemuOpt. The current implementation covers the API's planned to be changed by Chunyan Liu in his QEMUOptionParameter replacement/cleanup
QemuOpt: add unit tests
Cover basic aspects and API usage for QemuOpt. The current implementation covers the API's planned to be changed by Chunyan Liu in his QEMUOptionParameter replacement/cleanup job.
Other APIs should be covered in future improvements.
[Squashing in a small fix "QemuOpt: use qemu_find_opts_err() to avoid output on stderr in tests".
qemu_find_opts() calls error_report() instead of propagating the Error object. It is undesirable to clutter test case output with error messages from a passing test.
Use qemu_find_opts_err() to avoid the output on stderr. --Stefan]
Signed-off-by: Leandro Dorileo <l@dorileo.org> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|