-
Stefan Hajnoczi authored
The synchronous bdrv_aio_cancel() function needs the acb's AioContext so it can call aio_poll() to wait for cancellation. It turns out that all users run under the BQL in the main AioContext, so this callback is not needed. Remove the callback, mark bdrv_aio_cancel() GLOBAL_STATE_CODE just like its blk_aio_cancel() caller, and poll the main loop AioContext. The purpose of this cleanup is to identify bdrv_aio_cancel() as an API that does not work with the multi-queue block layer. Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20230912231037.826804-2-stefanha@redhat.com>
Reviewed-by:
Kevin Wolf <kwolf@redhat.com>
Reviewed-by:
Eric Blake <eblake@redhat.com>
Reviewed-by:
Klaus Jensen <k.jensen@samsung.com>
Signed-off-by:
Kevin Wolf <kwolf@redhat.com>Stefan Hajnoczi authoredThe synchronous bdrv_aio_cancel() function needs the acb's AioContext so it can call aio_poll() to wait for cancellation. It turns out that all users run under the BQL in the main AioContext, so this callback is not needed. Remove the callback, mark bdrv_aio_cancel() GLOBAL_STATE_CODE just like its blk_aio_cancel() caller, and poll the main loop AioContext. The purpose of this cleanup is to identify bdrv_aio_cancel() as an API that does not work with the multi-queue block layer. Signed-off-by:
Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20230912231037.826804-2-stefanha@redhat.com>
Reviewed-by:
Kevin Wolf <kwolf@redhat.com>
Reviewed-by:
Eric Blake <eblake@redhat.com>
Reviewed-by:
Klaus Jensen <k.jensen@samsung.com>
Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
Loading