This patchset implements asynchronous deduplication in QCOW2 on top of the
"QCOW2 deduplication metrics" patchset.
It's a work in progress posted so reviewers can see where the feature is
heading.
Benoît Canet (12):
block: Add BlockDriver function prototype to pause and resume
deduplication.
qcow2: Add code to deduplicate cluster flagged with
QCOW_OFLAG_TO_DEDUP.
block: Add bdrv_has_dedup.
block: Add bdrv_is_dedup_running.
block: Add bdrv_resume_dedup.
block: Add bdrv_pause_dedup.
qcow2: Add qcow2_pause_dedup.
qcow2: Add qcow2_resume_dedup.
qcow2: Make dedup status persists.
qerror: Add QERR_DEVICE_NOT_DEDUPLICATED.
qmp: Add block-pause-dedup.
qmp: Add block_resume_dedup.
block.c | 72 ++++++++++++++++++++
block/qcow2-dedup.c | 166 +++++++++++++++++++++++++++++++++++++++++++++
block/qcow2.c | 8 ++-
block/qcow2.h | 3 +
blockdev.c | 36 ++++++++++
include/block/block.h | 4 ++
include/block/block_int.h | 4 ++
include/qapi/qmp/qerror.h | 3 +
qapi-schema.json | 36 ++++++++++
qmp-commands.hx | 46 +++++++++++++
10 files changed, 377 insertions(+), 1 deletion(-)
--
1.7.10.4