Hi all! v3: 01: drop extra line "+ s->in_flight_bytes -= task->bytes - new_bytes;" 02: add Max's r-b 03: rebased on 01 fix (dropped line not updated now). keep Max's r-b 04: more refactoring: don't require offset argument of block_copy_task_create being dirty, use !bdrv_dirty_bitmap_next_dirty_area() in block_copy_task_create() 05: declare block_copy_task_entry (as moving patch dropped) rebased on 04 changes
== This is the next step of improving block-copy: use aio task pool. Async copying loop has better performance than linear, which is shown in original series (was "[RFC 00/24] backup performance: block_status + async". Vladimir Sementsov-Ogievskiy (5): block/block-copy: rename in-flight requests to tasks block/block-copy: alloc task on each iteration block/block-copy: add state pointer to BlockCopyTask block/block-copy: refactor task creation block/block-copy: use aio-task-pool API block/block-copy.c | 262 ++++++++++++++++++++++++++++++--------------- 1 file changed, 177 insertions(+), 85 deletions(-) -- 2.21.0