qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 2/2] hw/block/block.c: improve confusing blk_check_size_an


From: Stefan Hajnoczi
Subject: Re: [PATCH v2 2/2] hw/block/block.c: improve confusing blk_check_size_and_read_all() error
Date: Mon, 29 Jan 2024 18:58:02 -0500

On Tue, Jan 23, 2024 at 05:35:31PM +0200, Manos Pitsidianakis wrote:
>      if (blk_len != size) {
> -        error_setg(errp, "device requires %" HWADDR_PRIu " bytes, "
> -                   "block backend provides %" PRIu64 " bytes",
> -                   size, blk_len);
> +        dev_id = qdev_get_human_name(dev);
> +        error_setg(errp, "%s device with id='%s' requires %" HWADDR_PRIu

Since qdev_get_human_name() falls back to returning the path instead of
the id, this error message could be confusing. Perhaps avoid saying what
dev_id is and let the user interpret it:

  %s device '%s'

> +                   " bytes, %s block backend provides %" PRIu64 " bytes",
> +                   object_get_typename(OBJECT(dev)), dev_id, size,
> +                   blk_name(blk), blk_len);
>          return false;
>      }
>  
> @@ -89,7 +90,11 @@ bool blk_check_size_and_read_all(BlockBackend *blk, void 
> *buf, hwaddr size,
>      assert(size <= BDRV_REQUEST_MAX_BYTES);
>      ret = blk_pread_nonzeroes(blk, size, buf);
>      if (ret < 0) {
> -        error_setg_errno(errp, -ret, "can't read block backend");
> +        dev_id = qdev_get_human_name(dev);
> +        error_setg_errno(errp, -ret, "can't read %s block backend"
> +                         "for %s device with id='%s'",

Same here.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]