virtio-9p: use accessor to get thread_pool
PATCH 1/1 virtio-9p: use accessor to get thread_pool
The aio_context_new() function does not allocate a thread pool. This is deferred to the first call to the aio_get_thread_pool() accessor. It is hence forbidden to access the thread_pool field directly, as it may be NULL. The accessor *must* be used always.
---
Michael,
I did not have time to reproduce the issue, and therefore to effectively test this patch fixes it. Maybe you can do it ?
Thanks.
--
Greg
hw/9pfs/virtio-9p-coth.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
hw/9pfs/virtio-9p-coth.c +1 -1
@@ -36,6 +36,6 @@ static int coroutine_enter_func(void *arg)void co_run_in_worker_bh (void *opaque) {Coroutine *co = opaque; -thread_pool_submit_aio (qemu_get_aio_context ()->thread_pool, +thread_pool_submit_aio (aio_get_thread_pool (qemu_get_aio_context ()), coroutine_enter_func, co, coroutine_enter_cb, co); }
Quoted 7 lines · Greg Kurz
The
aio_context_new()function does not allocate a thread pool. This is deferred to the first call to theaio_get_thread_pool()accessor. It is hence forbidden to access thethread_poolfield directly, as it may be NULL. The accessor *must* be used always.Fixes ebac1202c95a4f1b76b6ef3f0f63926fa76e753eSigned-off-by Greg Kurz <[email protected]>
Quoted 4 lines
Michael,
I did not have time to reproduce the issue, and therefore to effectively test this patch fixes it. Maybe you can do it ?
Yes, it effectively fixes the issue.
Meanwhile I looked at the whole thing with how thread pools are allocated, and now can add my R-b too.
Thank you!
/mjt