Hi all! Here is idea of adding qiov_offset parameter to io path, to avoid a lot of places with same pattern of creating local_qiov or hd_qiov variables. Here is only read path for qcow2, if we like it, I'll make v2 with both read and write paths for qcow2.
Vladimir Sementsov-Ogievskiy (3): block/io: introduce bdrv_co_preadv_part block/qcow2: refactor qcow2_co_preadv to use buffer-based io block/qcow2: implement .bdrv_co_preadv_part include/block/block_int.h | 6 +++ block/io.c | 87 ++++++++++++++++++++++++++------------- block/qcow2.c | 67 +++++++++++++++--------------- 3 files changed, 97 insertions(+), 63 deletions(-) -- 2.18.0