[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 14/31] qed: Make qed_aio_read_data() synchronous
From: |
Kevin Wolf |
Subject: |
[Qemu-block] [PATCH v2 14/31] qed: Make qed_aio_read_data() synchronous |
Date: |
Fri, 16 Jun 2017 19:36:59 +0200 |
Note that this code is generally not running in coroutine context, so
this is an actual blocking synchronous operation. We'll fix this in a
moment.
Signed-off-by: Kevin Wolf <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
---
block/qed.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/block/qed.c b/block/qed.c
index 8c493bb..cfebbae 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -1321,9 +1321,11 @@ static void qed_aio_read_data(void *opaque, int ret,
}
BLKDBG_EVENT(bs->file, BLKDBG_READ_AIO);
- bdrv_aio_readv(bs->file, offset / BDRV_SECTOR_SIZE,
- &acb->cur_qiov, acb->cur_qiov.size / BDRV_SECTOR_SIZE,
- qed_aio_next_io_cb, acb);
+ ret = bdrv_preadv(bs->file, offset, &acb->cur_qiov);
+ if (ret < 0) {
+ goto err;
+ }
+ qed_aio_next_io(acb, 0);
return;
err:
--
1.8.3.1
- [Qemu-block] [PATCH v2 05/31] qed: Remove callback from qed_find_cluster(), (continued)
- [Qemu-block] [PATCH v2 05/31] qed: Remove callback from qed_find_cluster(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 04/31] qed: Remove callback from qed_read_l2_table(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 07/31] qed: Make qed_copy_from_backing_file() synchronous, Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 08/31] qed: Remove callback from qed_copy_from_backing_file(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 09/31] qed: Make qed_write_header() synchronous, Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 10/31] qed: Remove callback from qed_write_header(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 11/31] qed: Make qed_write_table() synchronous, Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 12/31] qed: Remove GenericCB, Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 13/31] qed: Remove callback from qed_write_table(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 16/31] qed: Inline qed_commit_l2_update(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 14/31] qed: Make qed_aio_read_data() synchronous,
Kevin Wolf <=
- [Qemu-block] [PATCH v2 17/31] qed: Add return value to qed_aio_write_l1_update(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 15/31] qed: Make qed_aio_write_main() synchronous, Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 18/31] qed: Add return value to qed_aio_write_l2_update(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 19/31] qed: Add return value to qed_aio_write_main(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 20/31] qed: Add return value to qed_aio_write_cow(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 21/31] qed: Add return value to qed_aio_write_inplace/alloc(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 22/31] qed: Add return value to qed_aio_read/write_data(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 23/31] qed: Remove ret argument from qed_aio_next_io(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 24/31] qed: Remove recursion in qed_aio_next_io(), Kevin Wolf, 2017/06/16
- [Qemu-block] [PATCH v2 25/31] qed: Implement .bdrv_co_readv/writev, Kevin Wolf, 2017/06/16