Before doing qmp actions, we need to lock the qemu_global_mutex, so the qmp actions should not take too long time.
Unfortunately, some qmp actions need to acquire aio context and this may take a long time. The vm will soft lockup if this time is too long. So add a timeout mechanism while doing qmp actions. Zhenyu Ye (2): util: introduce aio_context_acquire_timeout qmp: use aio_context_acquire_timeout replace aio_context_acquire block/qapi-sysemu.c | 7 ++++++- block/qapi.c | 6 +++++- blockdev.c | 35 ++++++++++++++++++++++++++++++----- include/block/aio.h | 6 ++++++ include/qemu/thread-posix.h | 1 + include/qemu/thread.h | 1 + util/async.c | 10 ++++++++++ util/qemu-thread-posix.c | 6 ++++++ 8 files changed, 65 insertions(+), 7 deletions(-) -- 2.22.0.windows.1