v3: 01: new 03: fix block_copy_do_copy 04: add comment, rebase on 01 05: s/block_copy_find_inflight_req/find_conflicting_inflight_req/ 06: add overflow check use int64_t for block_copy bytes parameter fix preexisting typo in modified comment 07: update forgotten block_copy prototype keep Max's r-b 08: changed a lot - check MIN after block_copy_block_status - refactor loop in block_copy() 09: drop BackupBlockJob.bcs_bitmap
Vladimir Sementsov-Ogievskiy (9): job: refactor progress to separate object block/block-copy: fix progress calculation block/block-copy: specialcase first copy_range request block/block-copy: use block_status block/block-copy: factor out find_conflicting_inflight_req block/block-copy: refactor interfaces to use bytes instead of end block/block-copy: rename start to offset in interfaces block/block-copy: reduce intersecting request lock block/block-copy: hide structure definitions include/block/block-copy.h | 64 +----- include/qemu/job.h | 11 +- include/qemu/progress_meter.h | 58 +++++ block/backup-top.c | 6 +- block/backup.c | 38 ++-- block/block-copy.c | 404 ++++++++++++++++++++++++++-------- blockjob.c | 16 +- job-qmp.c | 4 +- job.c | 6 +- qemu-img.c | 6 +- block/trace-events | 1 + 11 files changed, 419 insertions(+), 195 deletions(-) create mode 100644 include/qemu/progress_meter.h -- 2.21.0