Re: dm ebs: fix bio->bi_status assignment

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 29 2020 at  3:40pm -0400,
Heinz Mauelshagen <heinzm@xxxxxxxxxx> wrote:

> On 4/29/20 5:22 PM, Mike Snitzer wrote:
> >On Wed, Apr 29 2020 at 11:07am -0400,
> >heinzm@xxxxxxxxxx <heinzm@xxxxxxxxxx> wrote:
> >
> >>From: Heinz Mauelshagen <heinzm@xxxxxxxxxx>
> >>
> >>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@xxxxxxxxxx>
> >>Signed-off-by: Heinz Mauelshagen <heinzm@xxxxxxxxxx>
> >>---
> >>  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);
> 
> 
> Also, using errno_to_blk_status() doesn't need the conditional so
> you may mind to remove it.

Rather avoid the jump implied by the call (figures another place where
there is a conditional call to errno_to_blk_status is
dm-bufio.c:use_dmio).

Anyway, doesn't much matter either way, just going to leave it as
staged.

Thanks,
Mike

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel




[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux