[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH] block: Use error codes from lower levels for er
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] Re: [PATCH] block: Use error codes from lower levels for error message |
Date: |
Mon, 19 Jul 2010 14:26:37 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-2.fc12 Thunderbird/3.0.4 |
Am 18.07.2010 21:42, schrieb Stefan Weil:
> "No such file or directory" is a misleading error message
> when a user tries to open a file with wrong permissions.
>
> Cc: Kevin Wolf <address@hidden>
> Signed-off-by: Stefan Weil <address@hidden>
> ---
> block.c | 12 ++++++++----
> 1 files changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/block.c b/block.c
> index f837876..2f80540 100644
> --- a/block.c
> +++ b/block.c
> @@ -330,16 +330,20 @@ BlockDriver *bdrv_find_protocol(const char *filename)
> return NULL;
> }
>
> -static BlockDriver *find_image_format(const char *filename)
> +static BlockDriver *find_image_format(const char *filename, int *error)
Wouldn't it be a more natural interface to return an 0/-errno int and
pass the BlockDriver* by reference? I think we already have some
function that work this way in the block code, but I can't remember any
that get an int *error.
> {
> int ret, score, score_max;
> BlockDriver *drv1, *drv;
> uint8_t buf[2048];
> BlockDriverState *bs;
>
> + *error = -ENOENT;
Why -ENOENT is the default would be clearer if you moved it down next to
the drv = NULL before the loop that searches for the driver.
Apart from these minor nitpicks it looks good.
Kevin