mirror of
https://github.com/xemu-project/xemu.git
synced 2024-11-27 05:20:50 +00:00
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:
parent
97536cffbf
commit
ef4b7eeec1
14
migration.c
14
migration.c
@ -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;
|
||||
|
||||
if (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;
|
||||
FdMigrationState *s;
|
||||
@ -119,6 +121,8 @@ void do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data)
|
||||
if (s && s->file) {
|
||||
qemu_file_set_rate_limit(s->file, max_throttle);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* amount of nanoseconds we are willing to wait for migration to be down.
|
||||
@ -132,14 +136,16 @@ uint64_t migrate_max_downtime(void)
|
||||
return max_downtime;
|
||||
}
|
||||
|
||||
void do_migrate_set_downtime(Monitor *mon, const QDict *qdict,
|
||||
QObject **ret_data)
|
||||
int do_migrate_set_downtime(Monitor *mon, const QDict *qdict,
|
||||
QObject **ret_data)
|
||||
{
|
||||
double d;
|
||||
|
||||
d = qdict_get_double(qdict, "value") * 1e9;
|
||||
d = MAX(0, MIN(UINT64_MAX, d));
|
||||
max_downtime = (uint64_t)d;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void migrate_print_status(Monitor *mon, const char *name,
|
||||
|
@ -54,14 +54,14 @@ void qemu_start_incoming_migration(const char *uri);
|
||||
|
||||
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);
|
||||
|
||||
void do_migrate_set_downtime(Monitor *mon, const QDict *qdict,
|
||||
QObject **ret_data);
|
||||
int do_migrate_set_downtime(Monitor *mon, const QDict *qdict,
|
||||
QObject **ret_data);
|
||||
|
||||
void do_info_migrate_print(Monitor *mon, const QObject *data);
|
||||
|
||||
|
22
monitor.c
22
monitor.c
@ -417,13 +417,15 @@ void monitor_protocol_event(MonitorEvent event, QObject *data)
|
||||
QDECREF(qmp);
|
||||
}
|
||||
|
||||
static void do_qmp_capabilities(Monitor *mon, const QDict *params,
|
||||
QObject **ret_data)
|
||||
static int do_qmp_capabilities(Monitor *mon, const QDict *params,
|
||||
QObject **ret_data)
|
||||
{
|
||||
/* Will setup QMP capabilities in the future */
|
||||
if (monitor_ctrl_mode(mon)) {
|
||||
mon->mc->command_mode = 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
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
|
||||
*/
|
||||
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);
|
||||
return 0;
|
||||
}
|
||||
|
||||
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
|
||||
*/
|
||||
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);
|
||||
return 0;
|
||||
}
|
||||
|
||||
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
|
||||
*/
|
||||
static void do_system_reset(Monitor *mon, const QDict *qdict,
|
||||
QObject **ret_data)
|
||||
static int do_system_reset(Monitor *mon, const QDict *qdict,
|
||||
QObject **ret_data)
|
||||
{
|
||||
qemu_system_reset_request();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* do_system_powerdown(): Issue a machine powerdown
|
||||
*/
|
||||
static void do_system_powerdown(Monitor *mon, const QDict *qdict,
|
||||
QObject **ret_data)
|
||||
static int do_system_powerdown(Monitor *mon, const QDict *qdict,
|
||||
QObject **ret_data)
|
||||
{
|
||||
qemu_system_powerdown_request();
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if defined(TARGET_I386)
|
||||
|
@ -123,7 +123,7 @@ ETEXI
|
||||
.params = "",
|
||||
.help = "quit the emulator",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_quit,
|
||||
.cmd_new_ret = do_quit,
|
||||
},
|
||||
|
||||
STEXI
|
||||
@ -303,7 +303,7 @@ ETEXI
|
||||
.params = "",
|
||||
.help = "stop emulation",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_stop,
|
||||
.cmd_new_ret = do_stop,
|
||||
},
|
||||
|
||||
STEXI
|
||||
@ -494,7 +494,7 @@ ETEXI
|
||||
.params = "",
|
||||
.help = "reset the system",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_system_reset,
|
||||
.cmd_new_ret = do_system_reset,
|
||||
},
|
||||
|
||||
STEXI
|
||||
@ -510,7 +510,7 @@ ETEXI
|
||||
.params = "",
|
||||
.help = "send system power down event",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_system_powerdown,
|
||||
.cmd_new_ret = do_system_powerdown,
|
||||
},
|
||||
|
||||
STEXI
|
||||
@ -791,7 +791,7 @@ ETEXI
|
||||
.params = "",
|
||||
.help = "cancel the current VM migration",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_migrate_cancel,
|
||||
.cmd_new_ret = do_migrate_cancel,
|
||||
},
|
||||
|
||||
STEXI
|
||||
@ -806,7 +806,7 @@ ETEXI
|
||||
.params = "value",
|
||||
.help = "set maximum speed (in bytes) for migrations",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_migrate_set_speed,
|
||||
.cmd_new_ret = do_migrate_set_speed,
|
||||
},
|
||||
|
||||
STEXI
|
||||
@ -821,7 +821,7 @@ ETEXI
|
||||
.params = "value",
|
||||
.help = "set maximum tolerated downtime (in seconds) for migrations",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_migrate_set_downtime,
|
||||
.cmd_new_ret = do_migrate_set_downtime,
|
||||
},
|
||||
|
||||
STEXI
|
||||
@ -1132,7 +1132,7 @@ ETEXI
|
||||
.params = "",
|
||||
.help = "enable QMP capabilities",
|
||||
.user_print = monitor_user_noop,
|
||||
.mhandler.cmd_new = do_qmp_capabilities,
|
||||
.cmd_new_ret = do_qmp_capabilities,
|
||||
},
|
||||
|
||||
STEXI
|
||||
|
Loading…
Reference in New Issue
Block a user