@samitouri / QOSamiQemu / commits / 7f0909bd80

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 }