On Wed, Apr 29 2020 at 11:07am -0400,
[email protected] <[email protected]> wrote:

> From: Heinz Mauelshagen <[email protected]>
> 
> Assign blk_status_t to bi_status properly in __ebs_process_bios()
> on error (flaw found by static checker).
> 
> Reported-by: Dan Carpenter <[email protected]>
> Signed-off-by: Heinz Mauelshagen <[email protected]>
> ---
>  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);

--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to