On 4/29/20 5:22 PM, Mike Snitzer wrote:
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);

Thanks, that'll map to both possible values (BLK_STS_IOERR and BLK_STS_RESOURCE 
here),
though I/O error would've been sufficient here.

Heinz

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

Reply via email to