• Bart Van Assche's avatar
    nbd: Fix signal handling · e56d4b63
    Bart Van Assche authored
    Both nbd_send_cmd() and nbd_handle_cmd() return either a negative error
    number or a positive blk_status_t value. nbd_queue_rq() converts these
    return values into a blk_status_t value. There is a bug in the conversion
    code: if nbd_send_cmd() returns BLK_STS_RESOURCE, nbd_queue_rq() should
    return BLK_STS_RESOURCE instead of BLK_STS_OK. Fix this, move the
    conversion code into nbd_handle_cmd() and fix the remaining sparse warnings.
    
    This patch fixes the following sparse warnings:
    
    drivers/block/nbd.c:673:32: warning: incorrect type in return expression (different base types)
    drivers/block/nbd.c:673:32:    expected int
    drivers/block/nbd.c:673:32:    got restricted blk_status_t [usertype]
    drivers/block/nbd.c:714:48: warning: incorrect type in return expression (different base types)
    drivers/block/nbd.c:714:48:    expected int
    drivers/block/nbd.c:714:48:    got restricted blk_status_t [usertype]
    drivers/block/nbd.c:1120:21: warning: incorrect type in assignment (different base types)
    drivers/block/nbd.c:1120:21:    expected int [assigned] ret
    drivers/block/nbd.c:1120:21:    got restricted blk_status_t [usertype]
    drivers/block/nbd.c:1125:16: warning: incorrect type in return expression (different base types)
    drivers/block/nbd.c:1125:16:    expected restricted blk_status_t
    drivers/block/nbd.c:1125:16:    got int [assigned] ret
    
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Josef Bacik <jbacik@fb.com>
    Cc: Yu Kuai <yukuai3@huawei.com>
    Cc: Markus Pargmann <mpa@pengutronix.de>
    Fixes: fc17b653 ("blk-mq: switch ->queue_rq return value to blk_status_t")
    Cc: stable@vger.kernel.org
    Signed-off-by: default avatarBart Van Assche <bvanassche@acm.org>
    Link: https://lore.kernel.org/r/20240510202313.25209-6-bvanassche@acm.orgSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
    e56d4b63
nbd.c 65.8 KB