Message ID | 1412969583-21045-1-git-send-email-peter.maydell@linaro.org |
---|---|
State | Superseded |
Headers | show |
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>
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);
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 --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);
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(-)