diff options
author | Max Reitz <mreitz@redhat.com> | 2020-05-13 13:05:12 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2020-05-18 19:05:25 +0200 |
commit | d67066d8bc01a14f7c9d9b9aeeffb30a10f0e900 (patch) | |
tree | 0af8c1dbef89694d6103e874dbf23449c017849a /block | |
parent | 6540fd153ca9d4cff31b1cc3f5ced271eca9296c (diff) | |
download | qemu-d67066d8bc01a14f7c9d9b9aeeffb30a10f0e900.zip qemu-d67066d8bc01a14f7c9d9b9aeeffb30a10f0e900.tar.gz qemu-d67066d8bc01a14f7c9d9b9aeeffb30a10f0e900.tar.bz2 |
block: Add BlockDriver.is_format
We want to unify child_format and child_file at some point. One of the
important things that set format drivers apart from other drivers is
that they do not expect other format nodes under them (except in the
backing chain), i.e. we must not probe formats inside of formats. That
means we need something on which to distinguish format drivers from
others, and hence this flag.
Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
Message-Id: <20200513110544.176672-3-mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/bochs.c | 1 | ||||
-rw-r--r-- | block/cloop.c | 1 | ||||
-rw-r--r-- | block/crypto.c | 2 | ||||
-rw-r--r-- | block/dmg.c | 1 | ||||
-rw-r--r-- | block/parallels.c | 1 | ||||
-rw-r--r-- | block/qcow.c | 1 | ||||
-rw-r--r-- | block/qcow2.c | 1 | ||||
-rw-r--r-- | block/qed.c | 1 | ||||
-rw-r--r-- | block/raw-format.c | 1 | ||||
-rw-r--r-- | block/vdi.c | 1 | ||||
-rw-r--r-- | block/vhdx.c | 1 | ||||
-rw-r--r-- | block/vmdk.c | 1 | ||||
-rw-r--r-- | block/vpc.c | 1 |
13 files changed, 14 insertions, 0 deletions
diff --git a/block/bochs.c b/block/bochs.c index 32bb83b..e7bbeaa 100644 --- a/block/bochs.c +++ b/block/bochs.c @@ -301,6 +301,7 @@ static BlockDriver bdrv_bochs = { .bdrv_refresh_limits = bochs_refresh_limits, .bdrv_co_preadv = bochs_co_preadv, .bdrv_close = bochs_close, + .is_format = true, }; static void bdrv_bochs_init(void) diff --git a/block/cloop.c b/block/cloop.c index 4de9487..f90f1a4 100644 --- a/block/cloop.c +++ b/block/cloop.c @@ -297,6 +297,7 @@ static BlockDriver bdrv_cloop = { .bdrv_refresh_limits = cloop_refresh_limits, .bdrv_co_preadv = cloop_co_preadv, .bdrv_close = cloop_close, + .is_format = true, }; static void bdrv_cloop_init(void) diff --git a/block/crypto.c b/block/crypto.c index 6b21d6b..bdb2b27 100644 --- a/block/crypto.c +++ b/block/crypto.c @@ -771,6 +771,8 @@ static BlockDriver bdrv_crypto_luks = { .bdrv_get_info = block_crypto_get_info_luks, .bdrv_get_specific_info = block_crypto_get_specific_info_luks, + .is_format = true, + .strong_runtime_opts = block_crypto_strong_runtime_opts, }; diff --git a/block/dmg.c b/block/dmg.c index 4a045f2..ef3c6e7 100644 --- a/block/dmg.c +++ b/block/dmg.c @@ -753,6 +753,7 @@ static BlockDriver bdrv_dmg = { .bdrv_child_perm = bdrv_format_default_perms, .bdrv_co_preadv = dmg_co_preadv, .bdrv_close = dmg_close, + .is_format = true, }; static void bdrv_dmg_init(void) diff --git a/block/parallels.c b/block/parallels.c index e7717c5..bd5f6ff 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -918,6 +918,7 @@ static BlockDriver bdrv_parallels = { .bdrv_co_flush_to_os = parallels_co_flush_to_os, .bdrv_co_readv = parallels_co_readv, .bdrv_co_writev = parallels_co_writev, + .is_format = true, .supports_backing = true, .bdrv_co_create = parallels_co_create, .bdrv_co_create_opts = parallels_co_create_opts, diff --git a/block/qcow.c b/block/qcow.c index b0475b7..6a72dea 100644 --- a/block/qcow.c +++ b/block/qcow.c @@ -1185,6 +1185,7 @@ static BlockDriver bdrv_qcow = { .bdrv_co_create = qcow_co_create, .bdrv_co_create_opts = qcow_co_create_opts, .bdrv_has_zero_init = bdrv_has_zero_init_1, + .is_format = true, .supports_backing = true, .bdrv_refresh_limits = qcow_refresh_limits, diff --git a/block/qcow2.c b/block/qcow2.c index ad9ab4f..76bec61 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -5767,6 +5767,7 @@ BlockDriver bdrv_qcow2 = { .bdrv_save_vmstate = qcow2_save_vmstate, .bdrv_load_vmstate = qcow2_load_vmstate, + .is_format = true, .supports_backing = true, .bdrv_change_backing_file = qcow2_change_backing_file, diff --git a/block/qed.c b/block/qed.c index 5da9726..337eb6d 100644 --- a/block/qed.c +++ b/block/qed.c @@ -1665,6 +1665,7 @@ static BlockDriver bdrv_qed = { .format_name = "qed", .instance_size = sizeof(BDRVQEDState), .create_opts = &qed_create_opts, + .is_format = true, .supports_backing = true, .bdrv_probe = bdrv_qed_probe, diff --git a/block/raw-format.c b/block/raw-format.c index 9108e43..00e13bb 100644 --- a/block/raw-format.c +++ b/block/raw-format.c @@ -566,6 +566,7 @@ BlockDriver bdrv_raw = { .bdrv_co_copy_range_to = &raw_co_copy_range_to, .bdrv_co_truncate = &raw_co_truncate, .bdrv_getlength = &raw_getlength, + .is_format = true, .has_variable_length = true, .bdrv_measure = &raw_measure, .bdrv_get_info = &raw_get_info, diff --git a/block/vdi.c b/block/vdi.c index 2d28046..0ef733a 100644 --- a/block/vdi.c +++ b/block/vdi.c @@ -1053,6 +1053,7 @@ static BlockDriver bdrv_vdi = { .bdrv_get_info = vdi_get_info, + .is_format = true, .create_opts = &vdi_create_opts, .bdrv_co_check = vdi_co_check, }; diff --git a/block/vhdx.c b/block/vhdx.c index 53e7564..e692cf8 100644 --- a/block/vhdx.c +++ b/block/vhdx.c @@ -2254,6 +2254,7 @@ static BlockDriver bdrv_vhdx = { .bdrv_co_check = vhdx_co_check, .bdrv_has_zero_init = vhdx_has_zero_init, + .is_format = true, .create_opts = &vhdx_create_opts, }; diff --git a/block/vmdk.c b/block/vmdk.c index b18f128..56e8568 100644 --- a/block/vmdk.c +++ b/block/vmdk.c @@ -3070,6 +3070,7 @@ static BlockDriver bdrv_vmdk = { .bdrv_get_info = vmdk_get_info, .bdrv_gather_child_options = vmdk_gather_child_options, + .is_format = true, .supports_backing = true, .create_opts = &vmdk_create_opts, }; diff --git a/block/vpc.c b/block/vpc.c index 5e31dd1..46a2d48 100644 --- a/block/vpc.c +++ b/block/vpc.c @@ -1250,6 +1250,7 @@ static BlockDriver bdrv_vpc = { .bdrv_get_info = vpc_get_info, + .is_format = true, .create_opts = &vpc_create_opts, .bdrv_has_zero_init = vpc_has_zero_init, .strong_runtime_opts = vpc_strong_runtime_opts, |