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>
Daniel P. Berrangé committed
Jul 6, 2026 at 14:57 UTC
7f0909bd802521710ad90f11c32da60207428625
4 files changed
+25
-25
monitor/monitor-internal.h
+1
-1
@@ -141,7 +141,7 @@ struct MonitorHMP {
141
};
142
143
typedef struct {
144
- Monitor common;
144
+ Monitor parent_obj;
145
JSONMessageParser parser;
146
bool pretty;
147
/*
monitor/monitor.c
+2
-2
@@ -308,7 +308,7 @@ static void monitor_qapi_event_emit(QAPIEvent event, QDict *qdict)
308
continue;
309
}
310
311
- qmp_mon = container_of(mon, MonitorQMP, common);
311
+ qmp_mon = container_of(mon, MonitorQMP, parent_obj);
312
{
313
QEMU_LOCK_GUARD(&mon->mon_lock);
314
if (qmp_mon->commands == &qmp_cap_negotiation_commands) {
@@ -625,7 +625,7 @@ void monitor_data_destroy(Monitor *mon)
625
g_free(mon->mon_cpu_path);
626
qemu_chr_fe_deinit(&mon->chr, false);
627
if (monitor_is_qmp(mon)) {
628
- monitor_data_destroy_qmp(container_of(mon, MonitorQMP, common));
628
+ monitor_data_destroy_qmp(container_of(mon, MonitorQMP, parent_obj));
629
} else {
630
readline_free(container_of(mon, MonitorHMP, parent_obj)->rs);
631
}
monitor/qmp-cmds-control.c
+2
-2
@@ -76,7 +76,7 @@ void qmp_qmp_capabilities(bool has_enable, QMPCapabilityList *enable,
76
MonitorQMP *mon;
77
78
assert(monitor_is_qmp(cur_mon));
79
- mon = container_of(cur_mon, MonitorQMP, common);
79
+ mon = container_of(cur_mon, MonitorQMP, parent_obj);
80
81
if (mon->commands == &qmp_commands) {
82
error_set(errp, ERROR_CLASS_COMMAND_NOT_FOUND,
@@ -126,7 +126,7 @@ CommandInfoList *qmp_query_commands(Error **errp)
126
MonitorQMP *mon;
127
128
assert(monitor_is_qmp(cur_mon));
129
- mon = container_of(cur_mon, MonitorQMP, common);
129
+ mon = container_of(cur_mon, MonitorQMP, parent_obj);
130
131
qmp_for_each_command(mon->commands, query_commands_cb, &list);
132
monitor/qmp.c
+20
-20
@@ -80,7 +80,7 @@ static void monitor_qmp_caps_reset(MonitorQMP *mon)
80
{
81
memset(mon->capab_offered, 0, sizeof(mon->capab_offered));
82
memset(mon->capab, 0, sizeof(mon->capab));
83
- mon->capab_offered[QMP_CAPABILITY_OOB] = mon->common.use_io_thread;
83
+ mon->capab_offered[QMP_CAPABILITY_OOB] = mon->parent_obj.use_io_thread;
84
}
85
86
static void qmp_request_free(QMPRequest *req)
@@ -124,7 +124,7 @@ static void monitor_qmp_cleanup_queue_and_resume(MonitorQMP *mon)
124
* when we get here while the monitor is suspended. An
125
* unfortunately timed CHR_EVENT_CLOSED can do the trick.
126
*/
127
- monitor_resume(&mon->common);
127
+ monitor_resume(&mon->parent_obj);
128
}
129
130
}
@@ -139,7 +139,7 @@ void qmp_send_response(MonitorQMP *mon, const QDict *rsp)
139
trace_monitor_qmp_respond(mon, json->str);
140
141
g_string_append_c(json, '\n');
142
- monitor_puts(&mon->common, json->str);
142
+ monitor_puts(&mon->parent_obj, json->str);
143
144
g_string_free(json, true);
145
}
@@ -166,7 +166,7 @@ static void monitor_qmp_dispatch(MonitorQMP *mon, QObject *req)
166
QDict *error;
167
168
rsp = qmp_dispatch(mon->commands, req, qmp_oob_enabled(mon),
169
- &mon->common);
169
+ &mon->parent_obj);
170
171
if (mon->commands == &qmp_cap_negotiation_commands) {
172
error = qdict_get_qdict(rsp, "error");
@@ -207,7 +207,7 @@ static QMPRequest *monitor_qmp_requests_pop_any_with_lock(void)
207
continue;
208
}
209
210
- qmp_mon = container_of(mon, MonitorQMP, common);
210
+ qmp_mon = container_of(mon, MonitorQMP, parent_obj);
211
qemu_mutex_lock(&qmp_mon->qmp_queue_lock);
212
req_obj = g_queue_pop_head(qmp_mon->qmp_requests);
213
if (req_obj) {
@@ -302,7 +302,7 @@ void coroutine_fn monitor_qmp_dispatcher_co(void *data)
302
oob_enabled = qmp_oob_enabled(mon);
303
if (oob_enabled
304
&& mon->qmp_requests->length == QMP_REQ_QUEUE_LEN_MAX - 1) {
305
- monitor_resume(&mon->common);
305
+ monitor_resume(&mon->parent_obj);
306
}
307
308
/*
@@ -343,7 +343,7 @@ void coroutine_fn monitor_qmp_dispatcher_co(void *data)
343
}
344
345
if (!oob_enabled) {
346
- monitor_resume(&mon->common);
346
+ monitor_resume(&mon->parent_obj);
347
}
348
349
qmp_request_free(req_obj);
@@ -408,7 +408,7 @@ static void handle_qmp_command(void *opaque, QObject *req, Error *err)
408
*/
409
if (!qmp_oob_enabled(mon) ||
410
mon->qmp_requests->length == QMP_REQ_QUEUE_LEN_MAX - 1) {
411
- monitor_suspend(&mon->common);
411
+ monitor_suspend(&mon->parent_obj);
412
}
413
414
/*
@@ -462,7 +462,7 @@ static void monitor_qmp_event(void *opaque, QEMUChrEvent event)
462
463
switch (event) {
464
case CHR_EVENT_OPENED:
465
- WITH_QEMU_LOCK_GUARD(&mon->common.mon_lock) {
465
+ WITH_QEMU_LOCK_GUARD(&mon->parent_obj.mon_lock) {
466
mon->commands = &qmp_cap_negotiation_commands;
467
monitor_qmp_caps_reset(mon);
468
}
@@ -504,27 +504,27 @@ static void monitor_qmp_setup_handlers_bh(void *opaque)
504
MonitorQMP *mon = opaque;
505
GMainContext *context;
506
507
- assert(mon->common.use_io_thread);
507
+ assert(mon->parent_obj.use_io_thread);
508
context = iothread_get_g_main_context(mon_iothread);
509
assert(context);
510
- qemu_chr_fe_set_handlers(&mon->common.chr, monitor_can_read,
510
+ qemu_chr_fe_set_handlers(&mon->parent_obj.chr, monitor_can_read,
511
monitor_qmp_read, monitor_qmp_event,
512
- NULL, &mon->common, context, true);
513
- monitor_list_append(&mon->common);
512
+ NULL, &mon->parent_obj, context, true);
513
+ monitor_list_append(&mon->parent_obj);
514
}
515
516
void monitor_init_qmp(Chardev *chr, bool pretty, Error **errp)
517
{
518
MonitorQMP *mon = g_new0(MonitorQMP, 1);
519
520
- if (!qemu_chr_fe_init(&mon->common.chr, chr, errp)) {
520
+ if (!qemu_chr_fe_init(&mon->parent_obj.chr, chr, errp)) {
521
g_free(mon);
522
return;
523
}
524
- qemu_chr_fe_set_echo(&mon->common.chr, true);
524
+ qemu_chr_fe_set_echo(&mon->parent_obj.chr, true);
525
526
/* Note: we run QMP monitor in I/O thread when @chr supports that */
527
- monitor_data_init(&mon->common, true, false,
527
+ monitor_data_init(&mon->parent_obj, true, false,
528
qemu_chr_has_feature(chr, QEMU_CHAR_FEATURE_GCONTEXT));
529
530
mon->pretty = pretty;
@@ -533,7 +533,7 @@ void monitor_init_qmp(Chardev *chr, bool pretty, Error **errp)
533
mon->qmp_requests = g_queue_new();
534
535
json_message_parser_init(&mon->parser, handle_qmp_command, mon, NULL);
536
- if (mon->common.use_io_thread) {
536
+ if (mon->parent_obj.use_io_thread) {
537
/*
538
* Make sure the old iowatch is gone. It's possible when
539
* 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)
553
monitor_qmp_setup_handlers_bh, mon);
554
/* The bottom half will add @mon to @mon_list */
555
} else {
556
- qemu_chr_fe_set_handlers(&mon->common.chr, monitor_can_read,
556
+ qemu_chr_fe_set_handlers(&mon->parent_obj.chr, monitor_can_read,
557
monitor_qmp_read, monitor_qmp_event,
558
- NULL, &mon->common, NULL, true);
559
- monitor_list_append(&mon->common);
558
+ NULL, &mon->parent_obj, NULL, true);
559
+ monitor_list_append(&mon->parent_obj);
560
}
561
}