lkml.org 
[lkml]   [2019]   [Dec]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 251/267] drbd: Change drbd_request_detach_interruptibles return type to int
    Date
    From: Nathan Chancellor <natechancellor@gmail.com>

    [ Upstream commit 5816a0932b4fd74257b8cc5785bc8067186a8723 ]

    Clang warns when an implicit conversion is done between enumerated
    types:

    drivers/block/drbd/drbd_state.c:708:8: warning: implicit conversion from
    enumeration type 'enum drbd_ret_code' to different enumeration type
    'enum drbd_state_rv' [-Wenum-conversion]
    rv = ERR_INTR;
    ~ ^~~~~~~~

    drbd_request_detach_interruptible's only call site is in the return
    statement of adm_detach, which returns an int. Change the return type of
    drbd_request_detach_interruptible to match, silencing Clang's warning.

    Reported-by: Nick Desaulniers <ndesaulniers@google.com>
    Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/block/drbd/drbd_state.c | 6 ++----
    drivers/block/drbd/drbd_state.h | 3 +--
    2 files changed, 3 insertions(+), 6 deletions(-)

    diff --git a/drivers/block/drbd/drbd_state.c b/drivers/block/drbd/drbd_state.c
    index 0813c654c8938..b452359b6aae8 100644
    --- a/drivers/block/drbd/drbd_state.c
    +++ b/drivers/block/drbd/drbd_state.c
    @@ -688,11 +688,9 @@ request_detach(struct drbd_device *device)
    CS_VERBOSE | CS_ORDERED | CS_INHIBIT_MD_IO);
    }

    -enum drbd_state_rv
    -drbd_request_detach_interruptible(struct drbd_device *device)
    +int drbd_request_detach_interruptible(struct drbd_device *device)
    {
    - enum drbd_state_rv rv;
    - int ret;
    + int ret, rv;

    drbd_suspend_io(device); /* so no-one is stuck in drbd_al_begin_io */
    wait_event_interruptible(device->state_wait,
    diff --git a/drivers/block/drbd/drbd_state.h b/drivers/block/drbd/drbd_state.h
    index b2a390ba73a05..f87371e55e682 100644
    --- a/drivers/block/drbd/drbd_state.h
    +++ b/drivers/block/drbd/drbd_state.h
    @@ -162,8 +162,7 @@ static inline int drbd_request_state(struct drbd_device *device,
    }

    /* for use in adm_detach() (drbd_adm_detach(), drbd_adm_down()) */
    -enum drbd_state_rv
    -drbd_request_detach_interruptible(struct drbd_device *device);
    +int drbd_request_detach_interruptible(struct drbd_device *device);

    enum drbd_role conn_highest_role(struct drbd_connection *connection);
    enum drbd_role conn_highest_peer(struct drbd_connection *connection);
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-12-16 19:01    [W:3.353 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site