diff options
author | Kevin Wolf <kwolf@redhat.com> | 2015-11-16 15:34:59 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2015-12-18 14:34:42 +0100 |
commit | 5365f44dfa4669a8d37ec309c421c7512959d509 (patch) | |
tree | 5a4d53e8ed0ed63150062f09bd5d7c5113d18991 /include/block/block_int.h | |
parent | 35cea22373fd8ec10575cb218304bea9b162447f (diff) | |
download | qemu-5365f44dfa4669a8d37ec309c421c7512959d509.tar.gz qemu-5365f44dfa4669a8d37ec309c421c7512959d509.tar.bz2 qemu-5365f44dfa4669a8d37ec309c421c7512959d509.zip |
qcow2: Add .bdrv_join_options callback
qcow2 accepts a few driver-specific options that overlap semantically
(e.g. "overlap-check" is an alias of "overlap-check.template", and any
missing cache size option is derived from the given ones).
When bdrv_reopen() merges the set of updated options with left out
options that should be kept at their old value, we need to consider this
and filter out any duplicates (which would generally cause errors
because new and old value would contradict each other).
This patch adds a .bdrv_join_options callback to BlockDriver and
implements it for qcow2.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Diffstat (limited to 'include/block/block_int.h')
-rw-r--r-- | include/block/block_int.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/block/block_int.h b/include/block/block_int.h index 66e208d620..c2ce965556 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -121,6 +121,7 @@ struct BlockDriver { BlockReopenQueue *queue, Error **errp); void (*bdrv_reopen_commit)(BDRVReopenState *reopen_state); void (*bdrv_reopen_abort)(BDRVReopenState *reopen_state); + void (*bdrv_join_options)(QDict *options, QDict *old_options); int (*bdrv_open)(BlockDriverState *bs, QDict *options, int flags, Error **errp); |