[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] block.c: Fix type of IoOperationType variable i
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-devel] [PATCH] block.c: Fix type of IoOperationType variable in send_qmp_error_event() |
Date: |
Wed, 22 Oct 2014 08:44:08 -0400 |
On Fri, 10 Oct 2014 20:33:03 +0100
Peter Maydell <address@hidden> wrote:
> The local variable 'ac' in send_qmp_error_event() is declared with the
> wrong type, which causes clang to complain when it is initialized
> and again when it is used:
>
> block.c:3655:20: warning: implicit conversion from enumeration type 'enum
> IoOperationType' to different enumeration type 'BlockErrorAction' (aka 'enum
> BlockErrorAction') [-Wenum-conversion]
> ac = is_read ? IO_OPERATION_TYPE_READ : IO_OPERATION_TYPE_WRITE;
> ~ ^~~~~~~~~~~~~~~~~~~~~~
> block.c:3655:45: warning: implicit conversion from enumeration type 'enum
> IoOperationType' to different enumeration type 'BlockErrorAction' (aka 'enum
> BlockErrorAction') [-Wenum-conversion]
> ac = is_read ? IO_OPERATION_TYPE_READ : IO_OPERATION_TYPE_WRITE;
> ~ ^~~~~~~~~~~~~~~~~~~~~~~
> block.c:3656:62: warning: implicit conversion from enumeration type
> 'BlockErrorAction' (aka 'enum BlockErrorAction') to different enumeration
> type 'IoOperationType' (aka 'enum IoOperationType') [-Wenum-conversion]
> qapi_event_send_block_io_error(bdrv_get_device_name(bs), ac, action,
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^~
>
> Correct the type to IoOperationType, and rename the variable
> to 'optype' to match its correct type.
>
> Signed-off-by: Peter Maydell <address@hidden>
Reviewed-by: Luiz Capitulino <address@hidden>
I'm assuming this will go in via block layer tree.
> ---
> Bug introduced when this code was pulled out into its
> own function in commit c7c2ff0c7e5d2c04.
>
> block.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/block.c b/block.c
> index d3aebeb..b61baca 100644
> --- a/block.c
> +++ b/block.c
> @@ -3650,10 +3650,10 @@ static void send_qmp_error_event(BlockDriverState *bs,
> BlockErrorAction action,
> bool is_read, int error)
> {
> - BlockErrorAction ac;
> + IoOperationType optype;
>
> - ac = is_read ? IO_OPERATION_TYPE_READ : IO_OPERATION_TYPE_WRITE;
> - qapi_event_send_block_io_error(bdrv_get_device_name(bs), ac, action,
> + optype = is_read ? IO_OPERATION_TYPE_READ : IO_OPERATION_TYPE_WRITE;
> + qapi_event_send_block_io_error(bdrv_get_device_name(bs), optype, action,
> bdrv_iostatus_is_enabled(bs),
> error == ENOSPC, strerror(error),
> &error_abort);