Not that we pass any flags during reads yet, but we may want to support BDRV_REQ_FUA on reads in the future. So don't throw away the input flags.
Signed-off-by: Eric Blake <ebl...@redhat.com> --- block/io.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/block/io.c b/block/io.c index 81618b9..3c7b233 100644 --- a/block/io.c +++ b/block/io.c @@ -983,7 +983,7 @@ static int coroutine_fn bdrv_aligned_preadv(BlockDriverState *bs, /* Forward the request to the BlockDriver */ if (!bs->zero_beyond_eof) { - ret = bdrv_driver_preadv(bs, offset, bytes, qiov, 0); + ret = bdrv_driver_preadv(bs, offset, bytes, qiov, flags); } else { /* Read zeros after EOF */ int64_t total_sectors, max_nb_sectors; @@ -997,7 +997,7 @@ static int coroutine_fn bdrv_aligned_preadv(BlockDriverState *bs, max_nb_sectors = ROUND_UP(MAX(0, total_sectors - sector_num), align >> BDRV_SECTOR_BITS); if (nb_sectors < max_nb_sectors) { - ret = bdrv_driver_preadv(bs, offset, bytes, qiov, 0); + ret = bdrv_driver_preadv(bs, offset, bytes, qiov, flags); } else if (max_nb_sectors > 0) { QEMUIOVector local_qiov; @@ -1007,7 +1007,7 @@ static int coroutine_fn bdrv_aligned_preadv(BlockDriverState *bs, ret = bdrv_driver_preadv(bs, offset, max_nb_sectors * BDRV_SECTOR_SIZE, - &local_qiov, 0); + &local_qiov, flags); qemu_iovec_destroy(&local_qiov); } else { -- 2.5.5