diff mbox

block.c: Fix type of IoOperationType variable in send_qmp_error_event()

Message ID 1412969583-21045-1-git-send-email-peter.maydell@linaro.org
State New
Headers show

Commit Message

Peter Maydell Oct. 10, 2014, 7:33 p.m. UTC
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 <peter.maydell@linaro.org>
---
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(-)

Comments

Eric Blake Oct. 10, 2014, 7:40 p.m. UTC | #1
On 10/10/2014 01:33 PM, Peter Maydell 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 <peter.maydell@linaro.org>
> ---
> 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(-)

Reviewed-by: Eric Blake <eblake@redhat.com>
Luiz Capitulino Oct. 22, 2014, 12:44 p.m. UTC | #2
On Fri, 10 Oct 2014 20:33:03 +0100
Peter Maydell <peter.maydell@linaro.org> 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 <peter.maydell@linaro.org>

Reviewed-by: Luiz Capitulino <lcapitulino@redhat.com>

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);
Stefan Hajnoczi Oct. 28, 2014, 3:10 p.m. UTC | #3
On Fri, Oct 10, 2014 at 08:33:03PM +0100, Peter Maydell 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 <peter.maydell@linaro.org>
> ---
> 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(-)

Thanks, applied to my block tree:
https://github.com/stefanha/qemu/commits/block

Stefan
diff mbox

Patch

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);