Statistics
| Branch: | Revision:

root / monitor.c @ df2943ba

History | View | Annotate | Download (125.2 kB)

# Date Author Comment
f871d689 10/13/2010 10:14 pm Blue Swirl

trace: print a warning if user tries to enable an unknown trace event

There was no warning if a bad trace event name was given to
'trace-event' command, thus the user could think that the command
was successful even if this was not the case.

Print a warning if the user tries to enable a trace event which is not...

48f57044 10/05/2010 09:54 pm Anthony Liguori

Merge remote branch 'qmp/for-anthony' into staging

8b7968f7 10/03/2010 09:34 am Stefan Weil

Use GCC_FMT_ATTR (format checking)

Signed-off-by: Stefan Weil <>
Signed-off-by: Blue Swirl <>

4903de0c 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Rename monitor_handler_is_async()

Let's follow the convention introduced by the previous commit and
call it handler_is_async().

Signed-off-by: Luiz Capitulino <>

de79ba6f 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Directly call QObject handlers

This avoids handle_user_command() calling monitor_call_handler(),
which is currently shared with QMP.

Signed-off-by: Luiz Capitulino <>

fc29df75 10/01/2010 04:20 pm Luiz Capitulino

QMP: Introduce qmp_call_cmd()

Calls a QObject handler and emits the QMP response, also drops
monitor_call_handler() which is now unused.

Signed-off-by: Luiz Capitulino <>

acd0a093 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Rename the qemu-monitor.hx file

Let's be consistent and call it hmp-commands.hx, so that we have
qmp-commands.hx for QMP and hmp-commands.hx for HMP.

Please, note that this commit doesn't touch qemu-monitor.texi. All
texi files have the qemu- prefix and I don't think it's worth...

945c5ac8 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Introduce search_dispatch_table()

It's a generic version of monitor_find_command() which searches
the dispatch table passed as an argument.

Future commits will introduce new dispatch tables, so we need
common code to search them.

Signed-off-by: Luiz Capitulino <>

0fb88582 10/01/2010 04:20 pm Luiz Capitulino

QMP: handle_qmp_command(): Move 'cmd' sanity check

Next commit will change how query commands are handled in a
way that the 'cmd' sanity check is also going to be needed
for query commands handling.

Let's move it out of the else body then.

Signed-off-by: Luiz Capitulino <>

030db6e8 10/01/2010 04:20 pm Luiz Capitulino

QMP: Don't use do_info()

Since its inception, QMP has been using HMP's do_info() function
to run query commands.

This was a bad choice, as it made do_info() more complex and
contributed to couple QMP and HMP.

This commit fixes that by doing the following changes:...

1dcbd6f6 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Drop QMP bits from do_info()

As of last commit, QMP doesn't use do_info() anymore. Simplify it.

Signed-off-by: Luiz Capitulino <>

d4551293 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Drop is_async_return()

If I understood it correcty, the is_async_return() logic was only
used to prevent QMP from issuing duplicated success responses
for asynchronous handlers.

However, QMP doesn't use do_info() anymore so this is dead logic
and (hopefully) can be safely dropped....

1162daa6 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Convert do_info() back to HMP

This is a HMP specific handler, it makes no sense to have it
under QMP.

Signed-off-by: Luiz Capitulino <>

bead3ce1 10/01/2010 04:20 pm Luiz Capitulino

QMP: Introduce qmp_find_cmd()

Next commit needs this new function: it will introduce the
the QMP's command dispatch table and qmp_find_cmd() will be
used to search on it.

Signed-off-by: Luiz Capitulino <>

f36b4afb 10/01/2010 04:20 pm Luiz Capitulino

QMP: Introduce command dispatch table

Also update QMP functions to use it. The table is generated
from the qmp-commands.hx file.

From now on, QMP and HMP have different command dispatch
tables.

Signed-off-by: Luiz Capitulino <>

3e12a751 10/01/2010 04:20 pm Luiz Capitulino

QMP: Introduce query commands dispatch table

The new table is a copy of HMP's table, containing only QObject
handlers.

In the near future HMP will be making QMP calls and then we will
be able to drop QObject handlers from HMP's table.

From now on, QMP and HMP have different query command dispatch...

2e061a7c 10/01/2010 04:20 pm Luiz Capitulino

QMP: Simplify do_info_commands()

We now iterate over QMP's dispatch tables, no need to check for
QMP-only handlers anymore.

Signed-off-by: Luiz Capitulino <>

d1249eaa 10/01/2010 04:20 pm Luiz Capitulino

QMP: Small cleanup in handle_qmp_command()

QMP has its own dispatch tables, we can now drop the following
checks:

o 'info' command: this command doesn't exist in QMP's
dispatch table, the right thing will happen when it's
issued by a client (ie. command not found error)...
30f5041e 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Drop QMP info from the qemu-monitor.hx file

QMP has its own dispatch table and documentation file
(qmp-commands.hx), we can now drop the following QMP specific info
from qemu-monitor.hx:

o SQMP/EQMP sections
o The qmp_capabilities command...
0e19a627 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Drop monitor_cmd_user_only()

This function was only needed when QMP and HMP were sharing dispatch
tables, this is no longer true so just drop it.

Signed-off-by: Luiz Capitulino <>

9e80721e 10/01/2010 04:20 pm Luiz Capitulino

Monitor: Rename monitor_handler_ported()

That name makes no sense anymore, as dispatch tables have been split,
a better name is handler_is_qobject(), which really communicates
the handler's type.

Signed-off-by: Luiz Capitulino <>

39eaab9a 10/01/2010 04:12 pm Daniel P. Berrange

Add option to turn on JSON pretty printing in monitor

Expaned '-mon' arg to allow a 'pretty=on' flag. This makes the
monitor pretty print its replies to easy human debugging / reading

Signed-off-by: Daniel P. Berrange <>
Signed-off-by: Luiz Capitulino <>

22890ab5 09/10/2010 12:22 am Prerna Saxena

trace: Support for dynamically enabling/disabling trace events

This patch adds support for dynamically enabling/disabling of trace events.
This is done by internally maintaining each trace event's state, and
permitting logging of data from a trace event only if it is in an...

c5ceb523 09/10/2010 12:22 am Stefan Hajnoczi

trace: Add trace-file command to open/close/flush trace file

This patch adds the trace-file command:

trace-file [on|off|flush]
Open, close, or flush the trace file.  If no argument is given,
the status of the trace file is displayed.

The trace file is turned on by default but is only written out when the...

0ec0291d 08/23/2010 01:11 am Miguel Di Ciurcio Filho

QMP/monitor: update do_info_version() to output broken down version string

This code was originally developed by Daniel P. Berrange <>

Signed-off-by: Miguel Di Ciurcio Filho <>
Signed-off-by: Luiz Capitulino <>...

f0aa7a8b 08/03/2010 04:57 pm Miguel Di Ciurcio Filho

loadvm: improve tests before bdrv_snapshot_goto()

This patch improves the resilience of the load_vmstate() function, doing
further and better ordered tests.

In load_vmstate(), if there is any error on bdrv_snapshot_goto(), except if the
error is on VM state device, load_vmstate() will return zero and the VM will be...

8e84865e 07/31/2010 12:14 am Amit Shah

migration: Accept 'cont' only after successful incoming migration

When a 'cont' is issued on a VM that's just waiting for an incoming
migration, the VM reboots and boots into the guest, possibly corrupting
its storage since it could be shared with another VM running elsewhere....

02d0ba14 07/06/2010 04:31 pm Anthony Liguori

Merge remote branch 'qmp/for-anthony' into staging

a88790a1 07/03/2010 09:48 am Paolo Bonzini

remove exec-all.h inclusion from cpu.h

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Blue Swirl <>

e4940c60 07/01/2010 08:27 pm Luiz Capitulino

QMP: handle_qmp_command(): Small cleanup

Drop a unneeded label and QDECREF call.

Signed-off-by: Luiz Capitulino <>

a6c4d364 07/01/2010 08:27 pm Jan Kiszka

monitor: Allow to exclude commands from QMP

Ported commands that are marked 'user_only' will not be considered for
QMP monitor sessions. This allows to implement new commands that do not
(yet) provide a sufficiently stable interface for QMP use.

Signed-off-by: Jan Kiszka <>...

5af7bbae 07/01/2010 08:27 pm Luiz Capitulino

QMP: Fix error reporting in the async API

The current asynchronous command API doesn't return a QMP response
when the async command fails.

This is easy to reproduce with the balloon command (the sole async
command we have so far): run qemu w/o the '-balloon virtio' option...

eb159d13 07/01/2010 08:27 pm Luiz Capitulino

Monitor: handle optional '-' arg as a bool

Historically, user monitor arguments beginning with '-' (eg. '-f')
were passed as integers down to handlers.

I've maintained this behavior in the new monitor because we didn't
have a boolean type at the very beginning of QMP. Today we have it...

2dbc8db0 07/01/2010 08:27 pm Luiz Capitulino

QMP: New argument checker (first part)

Current QMP's argument checker is more complex than it should be
and has (at least) one serious bug: it ignores unknown arguments.

To solve both problems we introduce a new argument checker. It's
added on top of the existing one, so that there are no regressions...

4af9193a 07/01/2010 08:27 pm Luiz Capitulino

QMP: New argument checker (second part)

This commit introduces the second (and last) part of QMP's new
argument checker.

The job is done by check_client_args_type(), it iterates over
the client's argument qdict and for for each argument it checks
if it exists and if its type is valid....

f6b4fc8b 07/01/2010 08:27 pm Luiz Capitulino

QMP: Drop old client argument checker

Previous two commits added qmp_check_client_args(), which
fully replaces this code and is way better.

It's important to note that the new checker doesn't support
the '/' arg type. As we don't have any of those handlers...

c917c8f3 07/01/2010 08:27 pm Luiz Capitulino

QMP: Introduce qmp_check_input_obj()

This is similar to qmp_check_client_args(), but it checks if
the input object follows the specification (QMP/qmp-spec.txt
section 2.3).

As we're limited to three keys, the work here is quite simple:
we iterate over the input object, checking each time if the...

0bbab46d 07/01/2010 08:27 pm Luiz Capitulino

QMP: Drop old input object checking

Previous commit added qmp_check_input_obj(), it does all the
checking we need.

Signed-off-by: Luiz Capitulino <>

03a63484 07/01/2010 07:58 pm Jan Kiszka

monitor: Fix leakage during completion processing

Given too many arguments or an invalid command, we were leaking the
duplicated argument strings.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Luiz Capitulino <>

3b6dbf27 07/01/2010 07:58 pm Jan Kiszka

monitor: Fix command completion vs. boolean switches

We now have to move forward to the next argument type via next_arg_type.
This patch fixes completion for 'eject' and maybe also other commands.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Luiz Capitulino <>

8ac470c1 07/01/2010 07:58 pm Jan Kiszka

monitor: Establish cmd flags and convert the async tag

As we want to add more flags to monitor commands, convert the only so
far existing one accordingly.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Luiz Capitulino <>

49b586a9 06/22/2010 11:15 pm Bernhard M. Wiedemann

Extra scan codes for missing keys

The code comes from
http://lists.gnu.org/archive/html/qemu-devel/2010-05/msg02788.html

Without this patch it is not possible to send at least 10 special
characters (\|'"`~:;[]{}) via the monitor sendkey command.

Signed-off-by: Bernhard M. Wiedemann <>...

a4673e27 06/14/2010 06:33 pm Anthony Liguori

Merge remote branch 'kwolf/for-anthony' into staging

Conflicts:
hw/pc.c

ea4e78e5 06/13/2010 03:33 pm Jan Kiszka

monitor/QMP: Drop info hpet / query-hpet

This command was of minimal use before, now it is useless as the hpet
become a qdev device and is thus easily discoverable. We should
definitely not set query-hpet in QMP's stone, and there is also no good
reason to keep it for the interactive monitor....

666daa68 06/04/2010 04:20 pm Markus Armbruster

blockdev: Collect block device code in new blockdev.c

Anything that moves hundreds of lines out of vl.c can't be all bad.

Signed-off-by: Markus Armbruster <>
Signed-off-by: Kevin Wolf <>

637503d1 06/01/2010 09:48 pm Luiz Capitulino

Monitor: Drop QMP documentation from code

Previous commit added QMP documentation to the qemu-monitor.hx
file, it's is a copy of this information.

While it's good to keep it near code, maintaining two copies of
the same information is too hard and has little benefit as we...

39b59d26 05/19/2010 06:45 pm Luiz Capitulino

Monitor: Return before exiting with 'quit'

This is a new version of the (now reverted) following commit:

0e8d2b5575938b8876a3c4bb66ee13c5d306fb6d

The 'quit' Monitor command (implemented by do_quit()) calls
exit() directly, this is problematic under QMP because QEMU...

a8751701 05/19/2010 06:45 pm Luiz Capitulino

Revert "Monitor: Return before exiting with 'quit'"

This reverts commit 0e8d2b5575938b8876a3c4bb66ee13c5d306fb6d.

Next commits will do the same thing in a better way.

Signed-off-by: Luiz Capitulino <>

5a834bb4 05/09/2010 11:19 pm Blue Swirl

sparc: Fix lazy flag calculation on interrupts, refactor

Recalculate Sparc64 CPU flags on interrupts, otherwise some earlier
flags could be stored to pstate.

Refactor PSR/CCR/CWP handling: concentrate the actual
functions to op_helper.c.

Thanks to Igor Kovalenko for reporting....

cb4e5f8e 05/03/2010 08:39 pm Naphtali Sprei

block: read-only: open cdrom as read-only when using monitor's change command

Current code of monitor command: 'change', used to open file for read-write
uncoditionally. Change to open it as read-only for CDROM, and read-write for all others.

Signed-off-by: Naphtali Sprei <>...

6ed2c484 05/03/2010 08:39 pm Luiz Capitulino

QMP: Introduce RESUME event

It's emitted when the Virtual Machine resumes execution.

We currently have the STOP event but don't have the matching
RESUME one, this means that clients are notified when the VM
is stopped but don't get anything when it resumes....

e53f27b9 04/26/2010 10:36 pm Paolo Bonzini

stash away SCM_RIGHTS fd until a getfd command arrives

If there is already a fd in s->msgfd before recvmsg it is
closed by parts that this patch does not touch. So, only
one descriptor can be "leaked" by attaching it to a command
other than getfd.

Signed-off-by: Paolo Bonzini <>...

0e8d2b55 04/26/2010 10:36 pm Luiz Capitulino

Monitor: Return before exiting with 'quit'

The 'quit' Monitor command (implemented by do_quit()) calls
exit() directly, this is problematic under QMP because QEMU
exits before having a chance to send the ok response.

Clients don't know if QEMU exited because of a problem or...

04f8c053 04/26/2010 05:17 pm Luiz Capitulino

QMP: Check "arguments" member's type

Otherwise the following input crashes QEMU:

{ "execute": "migrate", "arguments": "tcp:0:4446" }

Signed-off-by: Luiz Capitulino <>

88f7db84 04/26/2010 05:17 pm Luiz Capitulino

QMP: Use QERR_QMP_BAD_INPUT_OBJECT_MEMBER

The QERR_QMP_BAD_INPUT_OBJECT error is going to be used only
for two problems: the input is not an object or the "execute"
key is missing.

Signed-off-by: Luiz Capitulino <>

d6e9098e 04/23/2010 05:08 pm Kevin Wolf

Replace calls of old bdrv_open

What is known today as bdrv_open2 becomes the new bdrv_open. All remaining
callers of the old function are converted to the new one. In some places they
even know the right format, so they should have used bdrv_open2 from the...

ee9545da 04/19/2010 12:55 am Markus Armbruster

monitor: Rename argument type 'b' to 'f'

To make 'b' available for boolean argument.

Signed-off-by: Markus Armbruster <>
Signed-off-by: Luiz Capitulino <>

942cd1f2 04/19/2010 12:55 am Markus Armbruster

monitor: New argument type 'b'

This is a boolean value. Human monitor accepts "on" or "off".
Consistent with option parsing (see parse_option_bool()).

Signed-off-by: Markus Armbruster <>
Signed-off-by: Luiz Capitulino <>

f1dc58e0 04/19/2010 12:55 am Luiz Capitulino

Monitor: Convert do_screen_dump() to QObject

Trivial, as it never fails, doesn't have output nor return
any data.

Note that it's also available under QMP, as kvm-autotest
needs this.

Signed-off-by: Luiz Capitulino <>

e17ba87c 04/19/2010 12:46 am Markus Armbruster

error: Use QERR_INVALID_PARAMETER_VALUE instead of QERR_INVALID_PARAMETER

Signed-off-by: Markus Armbruster <>
Signed-off-by: Luiz Capitulino <>

07a5d95a 04/18/2010 11:31 pm Ryan Harper

Add qerror message if the 'change' target filename can't be opened

Currently when using the change command to switch the file in the cd drive
the command doesn't complain if the file doesn't exit or can't be opened
and the drive keeps the existing image. This patch adds a qerror_report...

28c28973 04/09/2010 07:55 pm Paolo Bonzini

move balloon handling to balloon.c

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Aurelien Jarno <>

9f59b566 03/27/2010 03:30 pm Markus Armbruster

error: Trim includes after "Move qemu_error & friends..."

Missed in commit 2f792016.

Signed-off-by: Markus Armbruster <>
Signed-off-by: Aurelien Jarno <>

fd04a2ae 03/17/2010 05:41 pm Shahar Havivi

Wrong error message in block_passwd command

Signed-off-by: Shahar Havivi <>
Signed-off-by: Anthony Liguori <>

361127df 03/16/2010 06:45 pm Markus Armbruster

monitor: New argument type 'O'

In the human monitor, it declares a single optional argument to be
parsed according to the QemuOptsList given by its name.

In QMP, it declares an optional argument for each member of the
QemuOptsList.

Restriction: only lists with empty desc are supported for now. Good...

6620d3ce 03/16/2010 06:01 pm Markus Armbruster

monitor: New monitor_cur_is_qmp()

cde0fc75 03/16/2010 06:01 pm Markus Armbruster

error: Let converted handlers print in human monitor

While fully converted handlers are not supposed to print anything when
running in a QMP monitor, they are free to print in a human monitor.
For instance, device_add (not yet converted) prints help, and will...

ab5b027e 03/16/2010 05:58 pm Markus Armbruster

error: Rename qemu_error_new() to qerror_report()

03cd4655 03/16/2010 05:55 pm Markus Armbruster

savevm: Fix -loadvm to report errors to stderr, not the monitor

A monitor may not even exist.

Change load_vmstate() to use qemu_error() instead of monitor_printf().
Parameter mon is now unused, remove it.

8631b608 03/16/2010 05:55 pm Markus Armbruster

monitor: Separate "default monitor" and "current monitor" cleanly

Commits 376253ec..731b0364 introduced global variable cur_mon, which
points to the "default monitor" (if any), except during execution of
monitor_read() or monitor_control_read() it points to the monitor from...

d6f46833 03/16/2010 05:55 pm Markus Armbruster

monitor: Factor monitor_set_error() out of qemu_error_internal()

This separates the monitor part from the QError part.

b4a51f7f 03/16/2010 05:55 pm Markus Armbruster

error: Move qemu_error() & friends from monitor.c to own file

They're about reporting errors, not about the monitor.

6e4f984c 03/16/2010 05:55 pm Markus Armbruster

error: Simplify error sink setup

qemu_error_sink can either point to a monitor or a file. In practice,
it always points to the current monitor if we have one, else to
stderr. Simply route errors to the current monitor or else to stderr,
and remove qemu_error_sink along with the functions to control it....

9eedeb3b 03/09/2010 04:47 pm Luiz Capitulino

QMP: Introduce WATCHDOG event

It's emitted whenever the watchdog device's timer expires. The action
taken is provided in the 'data' member.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

80cd3478 03/08/2010 07:30 pm Luiz Capitulino

QMP: Introduce RTC_CHANGE event

Emitted whenever the RTC time changes.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

51a3bd71 03/08/2010 07:30 pm Luiz Capitulino

QMP: Drop DEBUG event

This event has been introduced in the first round of QMP commits,
turns out that it's based on the usage of the EXCP_DEBUG macro,
which has discussable semantics when exposed through QMP.

As libvirt doesn't use this, let's just drop it....

93d67ee6 03/08/2010 07:29 pm Adam Litke

Fix hanging user monitor when using balloon command

This patch application failed. My patch adds a cb() call in
do_balloon(), but the change in git has added the cb() call to
do_info_balloon(). That is causing qemu segfaults. Applying the
following should correct the damage. Thanks....

c64484a5 02/23/2010 09:23 pm Gleb Natapov

fix 'i' format handling in memory dump

It was broken by 09b9418c6d0. (!env && = (!is_physical)
when env is true.

Signed-off-by: Gleb Natapov <>
Signed-off-by: Anthony Liguori <>

5c366a8a 02/19/2010 11:32 pm Adam Litke

Fix hanging user monitor when using balloon command

Arghh... Adding missing S-O-B

Hi Anthony. I wonder if there was a problem when importing my async
command handler patchset. Since the 'balloon' command completes
immediately, it must call the completion callback before returning....

b4475aa2 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Debugging support

Add configure options (--enable-debug-mon and --disable-debug-mon)
plus the MON_DEBUG() macro.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

b8b08266 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Drop the print disabling mechanism

We can ignore calls to monitor_vprintf() in QMP mode and use
monitor_puts() directly in monitor_json_emitter().

This allows us to drop this ugly hack.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

bb89c2e9 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Audit handler return

This commit verifies the following two rules specified by
Markus Armbruster:

1. If the handler returns failure, it must have passed an error.

If it didn't, it's broken. Report an internal error to the client,
and report the bug to the programmer....
10e4f606 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Debug stray prints the right way

QObject Monitor handlers should not call any Monitor print
function: they should only build objects, printing is done
by common code.

Current QMP code will ignore such calls, as we can't send
garbage to clients, additionally it will also emit an...

068b332a 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Report more than one error in handlers

Handlers can generate only one error in a call, we let the
programmer know if they brake this rule and clients will only
get the first generated error.

Signed-off-by: Luiz Capitulino <>...

6ad3ebd2 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_getfd() to cmd_new_ret()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

aeb91c1e 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_closefd() to cmd_new_ret()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

9869622e 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_memory_save() to cmd_new_ret()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

fe38a32a 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_physical_memory_save() to cmd_new_ret()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

4fdc94b4 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_info() to cmd_new_ret()

Note that this function only fails in QMP, in the user Monitor
it prints the help text instead.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

0bbc47bb 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_change() to cmd_new_ret()

Not that trivial as the call chain also has to be modified.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

261394db 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Rename cmd_new_ret()

Now that all handlers are converted to cmd_new_ret(), we can rename
it back to cmd_new(). But now it returns a value.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

97536cff 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Introduce cmd_new_ret()

In order to implement the new error handling and debugging
mechanism for command handlers, we need to change the cmd_new()
callback to return a value.

This commit introduces cmd_new_ret(), which returns a value and
will be used only temporarily to handle the transition from...

ef4b7eee 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert simple handlers to cmd_new_ret()

The following handlers always succeed and hence can be converted
to cmd_new_ret() in the same commit.

- do_stop()
- do_quit()
- do_system_reset()
- do_system_powerdown()
- do_migrate_cancel()
- do_qmp_capabilities()...

d5a7b38f 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_cont() to cmd_new_ret()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

9b9d4d9c 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_eject() to cmd_new_ret()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

584cbdb5 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_cpu_set() to cmd_new_ret()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

ba85d351 02/19/2010 11:18 pm Luiz Capitulino

Monitor: Convert do_block_set_passwd() to cmd_new_ret()

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

ba144141 02/10/2010 09:46 pm Luiz Capitulino

Monitor: remove unneeded checks

It's not needed to check the return of qobject_from_jsonf()
anymore, as an assert() has been added there.

Signed-off-by: Luiz Capitulino <>
Signed-off-by: Anthony Liguori <>

27a749fb 02/10/2010 09:46 pm Luiz Capitulino

QError: Don't abort on multiple faults

Ideally, Monitor code should report an error only once and
return the error information up the call chain.

To assure that this happens as expected and that no error is
lost, we have an assert() in qemu_error_internal()....

47116d1c 02/10/2010 09:46 pm Luiz Capitulino

QMP: Don't leak on connection close

QMP's chardev event callback doesn't call
json_message_parser_destroy() on CHR_EVENT_CLOSED. As the call
to json_message_parser_init() on CHR_EVENT_OPENED allocates memory,
we'are leaking on close.

Fix that by just calling json_message_parser_destroy() on...