[dm-devel] dm ebs: fix bio->bi_status assignment
Mike Snitzer
snitzer at redhat.com
Wed Apr 29 15:22:53 UTC 2020
On Wed, Apr 29 2020 at 11:07am -0400,
heinzm at redhat.com <heinzm at redhat.com> wrote:
> From: Heinz Mauelshagen <heinzm at redhat.com>
>
> Assign blk_status_t to bi_status properly in __ebs_process_bios()
> on error (flaw found by static checker).
>
> Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
> Signed-off-by: Heinz Mauelshagen <heinzm at redhat.com>
> ---
> drivers/md/dm-ebs-target.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/md/dm-ebs-target.c b/drivers/md/dm-ebs-target.c
> index 97703c31771f..c9c66d6b1e56 100644
> --- a/drivers/md/dm-ebs-target.c
> +++ b/drivers/md/dm-ebs-target.c
> @@ -210,7 +210,8 @@ static void __ebs_process_bios(struct work_struct *ws)
> r = __ebs_discard_bio(ec, bio);
> }
>
> - bio->bi_status = r;
> + if (r < 0)
> + bio->bi_status = BLK_STS_IOERR;
> }
>
> /*
> --
> 2.25.4
>
Proper way is to use errno_to_blk_status(). I've folded in:
- bio->bi_status = r;
+ if (r < 0)
+ bio->bi_status = errno_to_blk_status(r);
More information about the dm-devel
mailing list