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()
- do_migrate_set_speed()
- do_migrate_set_downtime()

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Luiz Capitulino 2010-02-10 23:49:48 -02:00 committed by Anthony Liguori
parent 97536cffbf
commit ef4b7eeec1
4 changed files with 36 additions and 24 deletions

View File

@ -98,15 +98,17 @@ void do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
} }
} }
void do_migrate_cancel(Monitor *mon, const QDict *qdict, QObject **ret_data) int do_migrate_cancel(Monitor *mon, const QDict *qdict, QObject **ret_data)
{ {
MigrationState *s = current_migration; MigrationState *s = current_migration;
if (s) if (s)
s->cancel(s); s->cancel(s);
return 0;
} }
void do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data) int do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data)
{ {
double d; double d;
FdMigrationState *s; FdMigrationState *s;
@ -119,6 +121,8 @@ void do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data)
if (s && s->file) { if (s && s->file) {
qemu_file_set_rate_limit(s->file, max_throttle); qemu_file_set_rate_limit(s->file, max_throttle);
} }
return 0;
} }
/* amount of nanoseconds we are willing to wait for migration to be down. /* amount of nanoseconds we are willing to wait for migration to be down.
@ -132,7 +136,7 @@ uint64_t migrate_max_downtime(void)
return max_downtime; return max_downtime;
} }
void do_migrate_set_downtime(Monitor *mon, const QDict *qdict, int do_migrate_set_downtime(Monitor *mon, const QDict *qdict,
QObject **ret_data) QObject **ret_data)
{ {
double d; double d;
@ -140,6 +144,8 @@ void do_migrate_set_downtime(Monitor *mon, const QDict *qdict,
d = qdict_get_double(qdict, "value") * 1e9; d = qdict_get_double(qdict, "value") * 1e9;
d = MAX(0, MIN(UINT64_MAX, d)); d = MAX(0, MIN(UINT64_MAX, d));
max_downtime = (uint64_t)d; max_downtime = (uint64_t)d;
return 0;
} }
static void migrate_print_status(Monitor *mon, const char *name, static void migrate_print_status(Monitor *mon, const char *name,

View File

@ -54,13 +54,13 @@ void qemu_start_incoming_migration(const char *uri);
void do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data); void do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data);
void do_migrate_cancel(Monitor *mon, const QDict *qdict, QObject **ret_data); int do_migrate_cancel(Monitor *mon, const QDict *qdict, QObject **ret_data);
void do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data); int do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data);
uint64_t migrate_max_downtime(void); uint64_t migrate_max_downtime(void);
void do_migrate_set_downtime(Monitor *mon, const QDict *qdict, int do_migrate_set_downtime(Monitor *mon, const QDict *qdict,
QObject **ret_data); QObject **ret_data);
void do_info_migrate_print(Monitor *mon, const QObject *data); void do_info_migrate_print(Monitor *mon, const QObject *data);

View File

@ -417,13 +417,15 @@ void monitor_protocol_event(MonitorEvent event, QObject *data)
QDECREF(qmp); QDECREF(qmp);
} }
static void do_qmp_capabilities(Monitor *mon, const QDict *params, static int do_qmp_capabilities(Monitor *mon, const QDict *params,
QObject **ret_data) QObject **ret_data)
{ {
/* Will setup QMP capabilities in the future */ /* Will setup QMP capabilities in the future */
if (monitor_ctrl_mode(mon)) { if (monitor_ctrl_mode(mon)) {
mon->mc->command_mode = 1; mon->mc->command_mode = 1;
} }
return 0;
} }
static int compare_cmd(const char *name, const char *list) static int compare_cmd(const char *name, const char *list)
@ -962,9 +964,10 @@ static void do_info_cpu_stats(Monitor *mon)
/** /**
* do_quit(): Quit QEMU execution * do_quit(): Quit QEMU execution
*/ */
static void do_quit(Monitor *mon, const QDict *qdict, QObject **ret_data) static int do_quit(Monitor *mon, const QDict *qdict, QObject **ret_data)
{ {
exit(0); exit(0);
return 0;
} }
static int eject_device(Monitor *mon, BlockDriverState *bs, int force) static int eject_device(Monitor *mon, BlockDriverState *bs, int force)
@ -1129,9 +1132,10 @@ static void do_singlestep(Monitor *mon, const QDict *qdict)
/** /**
* do_stop(): Stop VM execution * do_stop(): Stop VM execution
*/ */
static void do_stop(Monitor *mon, const QDict *qdict, QObject **ret_data) static int do_stop(Monitor *mon, const QDict *qdict, QObject **ret_data)
{ {
vm_stop(EXCP_INTERRUPT); vm_stop(EXCP_INTERRUPT);
return 0;
} }
static void encrypted_bdrv_it(void *opaque, BlockDriverState *bs); static void encrypted_bdrv_it(void *opaque, BlockDriverState *bs);
@ -1829,19 +1833,21 @@ static void do_boot_set(Monitor *mon, const QDict *qdict)
/** /**
* do_system_reset(): Issue a machine reset * do_system_reset(): Issue a machine reset
*/ */
static void do_system_reset(Monitor *mon, const QDict *qdict, static int do_system_reset(Monitor *mon, const QDict *qdict,
QObject **ret_data) QObject **ret_data)
{ {
qemu_system_reset_request(); qemu_system_reset_request();
return 0;
} }
/** /**
* do_system_powerdown(): Issue a machine powerdown * do_system_powerdown(): Issue a machine powerdown
*/ */
static void do_system_powerdown(Monitor *mon, const QDict *qdict, static int do_system_powerdown(Monitor *mon, const QDict *qdict,
QObject **ret_data) QObject **ret_data)
{ {
qemu_system_powerdown_request(); qemu_system_powerdown_request();
return 0;
} }
#if defined(TARGET_I386) #if defined(TARGET_I386)

View File

@ -123,7 +123,7 @@ ETEXI
.params = "", .params = "",
.help = "quit the emulator", .help = "quit the emulator",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = do_quit, .cmd_new_ret = do_quit,
}, },
STEXI STEXI
@ -303,7 +303,7 @@ ETEXI
.params = "", .params = "",
.help = "stop emulation", .help = "stop emulation",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = do_stop, .cmd_new_ret = do_stop,
}, },
STEXI STEXI
@ -494,7 +494,7 @@ ETEXI
.params = "", .params = "",
.help = "reset the system", .help = "reset the system",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = do_system_reset, .cmd_new_ret = do_system_reset,
}, },
STEXI STEXI
@ -510,7 +510,7 @@ ETEXI
.params = "", .params = "",
.help = "send system power down event", .help = "send system power down event",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = do_system_powerdown, .cmd_new_ret = do_system_powerdown,
}, },
STEXI STEXI
@ -791,7 +791,7 @@ ETEXI
.params = "", .params = "",
.help = "cancel the current VM migration", .help = "cancel the current VM migration",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = do_migrate_cancel, .cmd_new_ret = do_migrate_cancel,
}, },
STEXI STEXI
@ -806,7 +806,7 @@ ETEXI
.params = "value", .params = "value",
.help = "set maximum speed (in bytes) for migrations", .help = "set maximum speed (in bytes) for migrations",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = do_migrate_set_speed, .cmd_new_ret = do_migrate_set_speed,
}, },
STEXI STEXI
@ -821,7 +821,7 @@ ETEXI
.params = "value", .params = "value",
.help = "set maximum tolerated downtime (in seconds) for migrations", .help = "set maximum tolerated downtime (in seconds) for migrations",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = do_migrate_set_downtime, .cmd_new_ret = do_migrate_set_downtime,
}, },
STEXI STEXI
@ -1132,7 +1132,7 @@ ETEXI
.params = "", .params = "",
.help = "enable QMP capabilities", .help = "enable QMP capabilities",
.user_print = monitor_user_noop, .user_print = monitor_user_noop,
.mhandler.cmd_new = do_qmp_capabilities, .cmd_new_ret = do_qmp_capabilities,
}, },
STEXI STEXI