diff options
author | Max Reitz <mreitz@redhat.com> | 2019-02-01 20:29:25 +0100 |
---|---|---|
committer | Max Reitz <mreitz@redhat.com> | 2019-02-25 15:11:27 +0100 |
commit | 2654267cc163083f4fb9a6d719468d9dd1bea455 (patch) | |
tree | 1199e823b53bb502ec14a24041c54dd4703eefc4 /block/null.c | |
parent | c0625e80925302c449bb3f7a7ba6eb213da7c1e2 (diff) | |
download | qemu-2654267cc163083f4fb9a6d719468d9dd1bea455.zip qemu-2654267cc163083f4fb9a6d719468d9dd1bea455.tar.gz qemu-2654267cc163083f4fb9a6d719468d9dd1bea455.tar.bz2 |
block: Add strong_runtime_opts to BlockDriver
This new field can be set by block drivers to list the runtime options
they accept that may influence the contents of the respective BDS. As of
a follow-up patch, this list will be used by the common
bdrv_refresh_filename() implementation to decide which options to put
into BDS.full_open_options (and consequently whether a JSON filename has
to be created), thus freeing the drivers of having to implement that
logic themselves.
Additionally, this patch adds the field to all of the block drivers that
need it and sets it accordingly.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-id: 20190201192935.18394-22-mreitz@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'block/null.c')
-rw-r--r-- | block/null.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/block/null.c b/block/null.c index d442d3e..858892f 100644 --- a/block/null.c +++ b/block/null.c @@ -252,6 +252,13 @@ static void null_refresh_filename(BlockDriverState *bs, QDict *opts) bs->full_open_options = qobject_ref(opts); } +static const char *const null_strong_runtime_opts[] = { + BLOCK_OPT_SIZE, + NULL_OPT_ZEROES, + + NULL +}; + static BlockDriver bdrv_null_co = { .format_name = "null-co", .protocol_name = "null-co", @@ -269,6 +276,7 @@ static BlockDriver bdrv_null_co = { .bdrv_co_block_status = null_co_block_status, .bdrv_refresh_filename = null_refresh_filename, + .strong_runtime_opts = null_strong_runtime_opts, }; static BlockDriver bdrv_null_aio = { @@ -288,6 +296,7 @@ static BlockDriver bdrv_null_aio = { .bdrv_co_block_status = null_co_block_status, .bdrv_refresh_filename = null_refresh_filename, + .strong_runtime_opts = null_strong_runtime_opts, }; static void bdrv_null_init(void) |