qed: Make qed_aio_read_data() synchronous

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 <kwolf@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
Kevin Wolf 2016-11-14 14:56:32 +01:00
parent 453e53e2a1
commit 3e248cdcd9
1 changed files with 5 additions and 3 deletions

View File

@ -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: