mirror of
https://github.com/qemu/qemu.git
synced 2026-07-08 17:46:17 +00:00
monitor: replace 'common' with 'parent_obj' in MonitorQMP
The field name 'parent_obj' is standard practice for QOM structs so align the QMP monitor. Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Tested-by: Peter Krempa <pkrempa@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Message-ID: <20260706135824.2623960-4-berrange@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
committed by
Markus Armbruster
parent
8b5ca42730
commit
7f0909bd80
@@ -141,7 +141,7 @@ struct MonitorHMP {
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
Monitor common;
|
||||
Monitor parent_obj;
|
||||
JSONMessageParser parser;
|
||||
bool pretty;
|
||||
/*
|
||||
|
||||
@@ -308,7 +308,7 @@ static void monitor_qapi_event_emit(QAPIEvent event, QDict *qdict)
|
||||
continue;
|
||||
}
|
||||
|
||||
qmp_mon = container_of(mon, MonitorQMP, common);
|
||||
qmp_mon = container_of(mon, MonitorQMP, parent_obj);
|
||||
{
|
||||
QEMU_LOCK_GUARD(&mon->mon_lock);
|
||||
if (qmp_mon->commands == &qmp_cap_negotiation_commands) {
|
||||
@@ -625,7 +625,7 @@ void monitor_data_destroy(Monitor *mon)
|
||||
g_free(mon->mon_cpu_path);
|
||||
qemu_chr_fe_deinit(&mon->chr, false);
|
||||
if (monitor_is_qmp(mon)) {
|
||||
monitor_data_destroy_qmp(container_of(mon, MonitorQMP, common));
|
||||
monitor_data_destroy_qmp(container_of(mon, MonitorQMP, parent_obj));
|
||||
} else {
|
||||
readline_free(container_of(mon, MonitorHMP, parent_obj)->rs);
|
||||
}
|
||||
|
||||
@@ -76,7 +76,7 @@ void qmp_qmp_capabilities(bool has_enable, QMPCapabilityList *enable,
|
||||
MonitorQMP *mon;
|
||||
|
||||
assert(monitor_is_qmp(cur_mon));
|
||||
mon = container_of(cur_mon, MonitorQMP, common);
|
||||
mon = container_of(cur_mon, MonitorQMP, parent_obj);
|
||||
|
||||
if (mon->commands == &qmp_commands) {
|
||||
error_set(errp, ERROR_CLASS_COMMAND_NOT_FOUND,
|
||||
@@ -126,7 +126,7 @@ CommandInfoList *qmp_query_commands(Error **errp)
|
||||
MonitorQMP *mon;
|
||||
|
||||
assert(monitor_is_qmp(cur_mon));
|
||||
mon = container_of(cur_mon, MonitorQMP, common);
|
||||
mon = container_of(cur_mon, MonitorQMP, parent_obj);
|
||||
|
||||
qmp_for_each_command(mon->commands, query_commands_cb, &list);
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@ static void monitor_qmp_caps_reset(MonitorQMP *mon)
|
||||
{
|
||||
memset(mon->capab_offered, 0, sizeof(mon->capab_offered));
|
||||
memset(mon->capab, 0, sizeof(mon->capab));
|
||||
mon->capab_offered[QMP_CAPABILITY_OOB] = mon->common.use_io_thread;
|
||||
mon->capab_offered[QMP_CAPABILITY_OOB] = mon->parent_obj.use_io_thread;
|
||||
}
|
||||
|
||||
static void qmp_request_free(QMPRequest *req)
|
||||
@@ -124,7 +124,7 @@ static void monitor_qmp_cleanup_queue_and_resume(MonitorQMP *mon)
|
||||
* when we get here while the monitor is suspended. An
|
||||
* unfortunately timed CHR_EVENT_CLOSED can do the trick.
|
||||
*/
|
||||
monitor_resume(&mon->common);
|
||||
monitor_resume(&mon->parent_obj);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -139,7 +139,7 @@ void qmp_send_response(MonitorQMP *mon, const QDict *rsp)
|
||||
trace_monitor_qmp_respond(mon, json->str);
|
||||
|
||||
g_string_append_c(json, '\n');
|
||||
monitor_puts(&mon->common, json->str);
|
||||
monitor_puts(&mon->parent_obj, json->str);
|
||||
|
||||
g_string_free(json, true);
|
||||
}
|
||||
@@ -166,7 +166,7 @@ static void monitor_qmp_dispatch(MonitorQMP *mon, QObject *req)
|
||||
QDict *error;
|
||||
|
||||
rsp = qmp_dispatch(mon->commands, req, qmp_oob_enabled(mon),
|
||||
&mon->common);
|
||||
&mon->parent_obj);
|
||||
|
||||
if (mon->commands == &qmp_cap_negotiation_commands) {
|
||||
error = qdict_get_qdict(rsp, "error");
|
||||
@@ -207,7 +207,7 @@ static QMPRequest *monitor_qmp_requests_pop_any_with_lock(void)
|
||||
continue;
|
||||
}
|
||||
|
||||
qmp_mon = container_of(mon, MonitorQMP, common);
|
||||
qmp_mon = container_of(mon, MonitorQMP, parent_obj);
|
||||
qemu_mutex_lock(&qmp_mon->qmp_queue_lock);
|
||||
req_obj = g_queue_pop_head(qmp_mon->qmp_requests);
|
||||
if (req_obj) {
|
||||
@@ -302,7 +302,7 @@ void coroutine_fn monitor_qmp_dispatcher_co(void *data)
|
||||
oob_enabled = qmp_oob_enabled(mon);
|
||||
if (oob_enabled
|
||||
&& mon->qmp_requests->length == QMP_REQ_QUEUE_LEN_MAX - 1) {
|
||||
monitor_resume(&mon->common);
|
||||
monitor_resume(&mon->parent_obj);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -343,7 +343,7 @@ void coroutine_fn monitor_qmp_dispatcher_co(void *data)
|
||||
}
|
||||
|
||||
if (!oob_enabled) {
|
||||
monitor_resume(&mon->common);
|
||||
monitor_resume(&mon->parent_obj);
|
||||
}
|
||||
|
||||
qmp_request_free(req_obj);
|
||||
@@ -408,7 +408,7 @@ static void handle_qmp_command(void *opaque, QObject *req, Error *err)
|
||||
*/
|
||||
if (!qmp_oob_enabled(mon) ||
|
||||
mon->qmp_requests->length == QMP_REQ_QUEUE_LEN_MAX - 1) {
|
||||
monitor_suspend(&mon->common);
|
||||
monitor_suspend(&mon->parent_obj);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -462,7 +462,7 @@ static void monitor_qmp_event(void *opaque, QEMUChrEvent event)
|
||||
|
||||
switch (event) {
|
||||
case CHR_EVENT_OPENED:
|
||||
WITH_QEMU_LOCK_GUARD(&mon->common.mon_lock) {
|
||||
WITH_QEMU_LOCK_GUARD(&mon->parent_obj.mon_lock) {
|
||||
mon->commands = &qmp_cap_negotiation_commands;
|
||||
monitor_qmp_caps_reset(mon);
|
||||
}
|
||||
@@ -504,27 +504,27 @@ static void monitor_qmp_setup_handlers_bh(void *opaque)
|
||||
MonitorQMP *mon = opaque;
|
||||
GMainContext *context;
|
||||
|
||||
assert(mon->common.use_io_thread);
|
||||
assert(mon->parent_obj.use_io_thread);
|
||||
context = iothread_get_g_main_context(mon_iothread);
|
||||
assert(context);
|
||||
qemu_chr_fe_set_handlers(&mon->common.chr, monitor_can_read,
|
||||
qemu_chr_fe_set_handlers(&mon->parent_obj.chr, monitor_can_read,
|
||||
monitor_qmp_read, monitor_qmp_event,
|
||||
NULL, &mon->common, context, true);
|
||||
monitor_list_append(&mon->common);
|
||||
NULL, &mon->parent_obj, context, true);
|
||||
monitor_list_append(&mon->parent_obj);
|
||||
}
|
||||
|
||||
void monitor_init_qmp(Chardev *chr, bool pretty, Error **errp)
|
||||
{
|
||||
MonitorQMP *mon = g_new0(MonitorQMP, 1);
|
||||
|
||||
if (!qemu_chr_fe_init(&mon->common.chr, chr, errp)) {
|
||||
if (!qemu_chr_fe_init(&mon->parent_obj.chr, chr, errp)) {
|
||||
g_free(mon);
|
||||
return;
|
||||
}
|
||||
qemu_chr_fe_set_echo(&mon->common.chr, true);
|
||||
qemu_chr_fe_set_echo(&mon->parent_obj.chr, true);
|
||||
|
||||
/* Note: we run QMP monitor in I/O thread when @chr supports that */
|
||||
monitor_data_init(&mon->common, true, false,
|
||||
monitor_data_init(&mon->parent_obj, true, false,
|
||||
qemu_chr_has_feature(chr, QEMU_CHAR_FEATURE_GCONTEXT));
|
||||
|
||||
mon->pretty = pretty;
|
||||
@@ -533,7 +533,7 @@ void monitor_init_qmp(Chardev *chr, bool pretty, Error **errp)
|
||||
mon->qmp_requests = g_queue_new();
|
||||
|
||||
json_message_parser_init(&mon->parser, handle_qmp_command, mon, NULL);
|
||||
if (mon->common.use_io_thread) {
|
||||
if (mon->parent_obj.use_io_thread) {
|
||||
/*
|
||||
* Make sure the old iowatch is gone. It's possible when
|
||||
* e.g. the chardev is in client mode, with wait=on.
|
||||
@@ -553,9 +553,9 @@ void monitor_init_qmp(Chardev *chr, bool pretty, Error **errp)
|
||||
monitor_qmp_setup_handlers_bh, mon);
|
||||
/* The bottom half will add @mon to @mon_list */
|
||||
} else {
|
||||
qemu_chr_fe_set_handlers(&mon->common.chr, monitor_can_read,
|
||||
qemu_chr_fe_set_handlers(&mon->parent_obj.chr, monitor_can_read,
|
||||
monitor_qmp_read, monitor_qmp_event,
|
||||
NULL, &mon->common, NULL, true);
|
||||
monitor_list_append(&mon->common);
|
||||
NULL, &mon->parent_obj, NULL, true);
|
||||
monitor_list_append(&mon->parent_obj);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user