[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v3 30/32] blockdev: Remove the .bdrv_probe field
From: |
Max Reitz |
Subject: |
Re: [Qemu-block] [PATCH v3 30/32] blockdev: Remove the .bdrv_probe field from BlockDrivers |
Date: |
Wed, 6 Jul 2016 18:17:47 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
On 05.07.2016 17:24, Colin Lord wrote:
> This commit finalizes the separation of the block driver and probe
> function by removing the .bdrv_probe field from all BlockDrivers.
> Probing is now accomplished solely by iterating over the array of probe
> function pointers in the format_probes array.
>
> Signed-off-by: Colin Lord <address@hidden>
> ---
> block.c | 20 +-------------------
> block/raw-posix.c | 1 -
> include/block/block_int.h | 1 -
> scripts/modules/module_block.py | 10 ++--------
> 4 files changed, 3 insertions(+), 29 deletions(-)
>
> diff --git a/block.c b/block.c
> index 8226124..7e441fe 100644
> --- a/block.c
> +++ b/block.c
> @@ -599,34 +599,16 @@ BlockDriver *bdrv_probe_all(const uint8_t *buf, int
> buf_size,
> const char *format_max = NULL;
> const char *format;
> size_t i;
> - BlockDriver *drv = NULL, *d;
> -
> - for (i = 0; i < ARRAY_SIZE(block_driver_modules); ++i) {
> - if (block_driver_modules[i].has_probe) {
> - block_module_load_one(block_driver_modules[i].library_name);
> - }
> - }
> -
> - QLIST_FOREACH(d, &bdrv_drivers, list) {
> - if (d->bdrv_probe) {
> - score = d->bdrv_probe(buf, buf_size, filename);
> - if (score > score_max) {
> - score_max = score;
> - drv = d;
> - }
> - }
> - }
>
> for (i = 0; i < ARRAY_SIZE(format_probes); i++) {
> format = format_probes[i](buf, buf_size, filename, &score);
> if (score > score_max) {
> score_max = score;
> format_max = format;
> - drv = bdrv_find_format(format_max);
> }
> }
>
> - return drv;
> + return bdrv_find_format(format_max);
OK, so you move that function call here. Then, I'd at least like to see
a comment in patch 17 that you are going to do this later (like "TODO:
Move this call outside of this loop").
For this patch, however:
Reviewed-by: Max Reitz <address@hidden>
> }
>
> static int find_image_format(BlockDriverState *bs, const char *filename,
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-block] [PATCH v3 15/32] blockdev: Move vmdk probe to its own file, (continued)
- [Qemu-block] [PATCH v3 20/32] blockdev: Separate dmg probe from its driver, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 18/32] blockdev: Separate cloop probe from its driver, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 22/32] blockdev: Separate qcow probe from its driver, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 26/32] blockdev: Separate vdi probe from its driver, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 30/32] blockdev: Remove the .bdrv_probe field from BlockDrivers, Colin Lord, 2016/07/05
- Re: [Qemu-block] [PATCH v3 30/32] blockdev: Remove the .bdrv_probe field from BlockDrivers,
Max Reitz <=
- [Qemu-block] [PATCH v3 27/32] blockdev: Separate vhdx probe from its driver, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 21/32] blockdev: Separate parallels probe from its driver, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 24/32] blockdev: Separate qed probe from its driver, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 25/32] blockdev: Separate raw probe from its driver, Colin Lord, 2016/07/05
- [Qemu-block] [PATCH v3 28/32] blockdev: Separate vmdk probe from its driver, Colin Lord, 2016/07/05