mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
block: remove AIOCBInfo->get_aio_context()
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>
This commit is contained in:
parent
52b10c9c0c
commit
652b0dd808
8 changed files with 10 additions and 57 deletions
|
@ -2130,11 +2130,6 @@ static inline bool nvme_is_write(NvmeRequest *req)
|
|||
rw->opcode == NVME_CMD_WRITE_ZEROES;
|
||||
}
|
||||
|
||||
static AioContext *nvme_get_aio_context(BlockAIOCB *acb)
|
||||
{
|
||||
return qemu_get_aio_context();
|
||||
}
|
||||
|
||||
static void nvme_misc_cb(void *opaque, int ret)
|
||||
{
|
||||
NvmeRequest *req = opaque;
|
||||
|
@ -3302,7 +3297,6 @@ static void nvme_flush_cancel(BlockAIOCB *acb)
|
|||
static const AIOCBInfo nvme_flush_aiocb_info = {
|
||||
.aiocb_size = sizeof(NvmeFlushAIOCB),
|
||||
.cancel_async = nvme_flush_cancel,
|
||||
.get_aio_context = nvme_get_aio_context,
|
||||
};
|
||||
|
||||
static void nvme_do_flush(NvmeFlushAIOCB *iocb);
|
||||
|
@ -6478,7 +6472,6 @@ static void nvme_format_cancel(BlockAIOCB *aiocb)
|
|||
static const AIOCBInfo nvme_format_aiocb_info = {
|
||||
.aiocb_size = sizeof(NvmeFormatAIOCB),
|
||||
.cancel_async = nvme_format_cancel,
|
||||
.get_aio_context = nvme_get_aio_context,
|
||||
};
|
||||
|
||||
static void nvme_format_set(NvmeNamespace *ns, uint8_t lbaf, uint8_t mset,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue