diff --git a/hmp.c b/hmp.c index ad33b442d2..0a16aefc2a 100644 --- a/hmp.c +++ b/hmp.c @@ -1924,6 +1924,7 @@ void hmp_qemu_io(Monitor *mon, const QDict *qdict) { BlockBackend *blk; BlockBackend *local_blk = NULL; + AioContext *aio_context; const char* device = qdict_get_str(qdict, "device"); const char* command = qdict_get_str(qdict, "command"); Error *err = NULL; @@ -1939,17 +1940,12 @@ void hmp_qemu_io(Monitor *mon, const QDict *qdict) } } - if (blk) { - AioContext *aio_context = blk_get_aio_context(blk); - aio_context_acquire(aio_context); + aio_context = blk_get_aio_context(blk); + aio_context_acquire(aio_context); - qemuio_command(blk, command); + qemuio_command(blk, command); - aio_context_release(aio_context); - } else { - error_set(&err, ERROR_CLASS_DEVICE_NOT_FOUND, - "Device '%s' not found", device); - } + aio_context_release(aio_context); fail: blk_unref(local_blk);