I'm going to bring block-status driven, async copying process to
block-copy, to make it fast. The first step is to limit memory usage of
backup, here is it.
v2: [mostly by Max's comments]
Now based on master (Thank you Max!)
01: add Max's r-b
02: add Max's r-b
03: - refactor block_copy_do_copy goto/return
- add small comment to block_copy_do_copy
04: - a lot of renaming and wording fixes
- refactor to use "available" instead of "taken"
- refactor co_get_from_shres
05: rebase on 04 changes
06: drop extra things from max_transfer calculation
Vladimir Sementsov-Ogievskiy (6):
block/block-copy: allocate buffer in block_copy_with_bounce_buffer
block/block-copy: limit copy_range_size to 16 MiB
block/block-copy: refactor copying
util: introduce SharedResource
block/block-copy: add memory limit
block/block-copy: increase buffered copy request
include/block/block-copy.h | 5 +-
include/qemu/co-shared-resource.h | 71 ++++++++++++
block/block-copy.c | 182 +++++++++++++++---------------
util/qemu-co-shared-resource.c | 76 +++++++++++++
block/trace-events | 6 +-
util/Makefile.objs | 1 +
6 files changed, 249 insertions(+), 92 deletions(-)
create mode 100644 include/qemu/co-shared-resource.h
create mode 100644 util/qemu-co-shared-resource.c
--
2.21.0