diff options
| author | Peter Maydell | 2020-03-06 18:15:35 +0100 |
|---|---|---|
| committer | Peter Maydell | 2020-03-06 18:15:36 +0100 |
| commit | 67f17e23baca5dd545fe98b01169cc351a70fe35 (patch) | |
| tree | faab89fb46541f6d2d79d27e95fa9ce1720091a3 /monitor/qmp.c | |
| parent | Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into ... (diff) | |
| parent | block: bdrv_reopen() with backing file in different AioContext (diff) | |
| download | qemu-67f17e23baca5dd545fe98b01169cc351a70fe35.tar.gz qemu-67f17e23baca5dd545fe98b01169cc351a70fe35.tar.xz qemu-67f17e23baca5dd545fe98b01169cc351a70fe35.zip | |
Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging
Block layer patches:
- Add qemu-storage-daemon (still experimental)
- rbd: Add support for ceph namespaces
- Fix bdrv_reopen() with backing file in different AioContext
- qcow2: Fix read-write reopen with persistent dirty bitmaps
- qcow2: Fix alloc_cluster_abort() for pre-existing clusters
# gpg: Signature made Fri 06 Mar 2020 17:12:31 GMT
# gpg: using RSA key 7F09B272C88F2FD6
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6
* remotes/kevin/tags/for-upstream: (29 commits)
block: bdrv_reopen() with backing file in different AioContext
iotests: Refactor blockdev-reopen test for iothreads
block/rbd: Add support for ceph namespaces
qemu-storage-daemon: Add --monitor option
monitor: Add allow_hmp parameter to monitor_init()
hmp: Fail gracefully if chardev is already in use
qmp: Fail gracefully if chardev is already in use
monitor: Create QAPIfied monitor_init()
qapi: Create 'pragma' module
stubs: Update monitor stubs for qemu-storage-daemon
qemu-storage-daemon: Add --chardev option
qemu-storage-daemon: Add main loop
qemu-storage-daemon: Add --export option
blockdev-nbd: Boxed argument type for nbd-server-add
qemu-storage-daemon: Add --nbd-server option
qemu-storage-daemon: Add --object option
qapi: Flatten object-add
qemu-storage-daemon: Add --blockdev option
block: Move sysemu QMP commands to QAPI block module
block: Move common QMP commands to block-core QAPI module
...
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'monitor/qmp.c')
| -rw-r--r-- | monitor/qmp.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/monitor/qmp.c b/monitor/qmp.c index 8379c8f96e..f89e7daf27 100644 --- a/monitor/qmp.c +++ b/monitor/qmp.c @@ -395,10 +395,16 @@ static void monitor_qmp_setup_handlers_bh(void *opaque) monitor_list_append(&mon->common); } -void monitor_init_qmp(Chardev *chr, bool pretty) +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)) { + g_free(mon); + return; + } + qemu_chr_fe_set_echo(&mon->common.chr, true); + /* Note: we run QMP monitor in I/O thread when @chr supports that */ monitor_data_init(&mon->common, true, false, qemu_chr_has_feature(chr, QEMU_CHAR_FEATURE_GCONTEXT)); @@ -408,9 +414,6 @@ void monitor_init_qmp(Chardev *chr, bool pretty) qemu_mutex_init(&mon->qmp_queue_lock); mon->qmp_requests = g_queue_new(); - qemu_chr_fe_init(&mon->common.chr, chr, &error_abort); - qemu_chr_fe_set_echo(&mon->common.chr, true); - json_message_parser_init(&mon->parser, handle_qmp_command, mon, NULL); if (mon->common.use_io_thread) { /* |
