diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2013-01-21 17:09:46 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2013-01-25 18:18:34 +0100 |
commit | eee13dfe302833944d1176677d12a6ea421a94ea (patch) | |
tree | 53581a0a6c022df243eabdf32cf8e03232113c1c /include/block | |
parent | 50717e941b9f306a45292621999eeafbaa954418 (diff) | |
download | qemu-eee13dfe302833944d1176677d12a6ea421a94ea.zip qemu-eee13dfe302833944d1176677d12a6ea421a94ea.tar.gz qemu-eee13dfe302833944d1176677d12a6ea421a94ea.tar.bz2 |
mirror: allow customizing the granularity
The desired granularity may be very different depending on the kind of
operation (e.g. continuous replication vs. collapse-to-raw) and whether
the VM is expected to perform lots of I/O while mirroring is in progress.
Allow the user to customize it, while providing a sane default so that
in general there will be no extra allocated space in the target compared
to the source.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'include/block')
-rw-r--r-- | include/block/block_int.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/block/block_int.h b/include/block/block_int.h index b81c061..1165339 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -344,6 +344,7 @@ void commit_start(BlockDriverState *bs, BlockDriverState *base, * @bs: Block device to operate on. * @target: Block device to write to. * @speed: The maximum speed, in bytes per second, or 0 for unlimited. + * @granularity: The chosen granularity for the dirty bitmap. * @mode: Whether to collapse all images in the chain to the target. * @on_source_error: The action to take upon error reading from the source. * @on_target_error: The action to take upon error writing to the target. @@ -357,7 +358,7 @@ void commit_start(BlockDriverState *bs, BlockDriverState *base, * @bs will be switched to read from @target. */ void mirror_start(BlockDriverState *bs, BlockDriverState *target, - int64_t speed, MirrorSyncMode mode, + int64_t speed, int64_t granularity, MirrorSyncMode mode, BlockdevOnError on_source_error, BlockdevOnError on_target_error, BlockDriverCompletionFunc *cb, |