From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Snitzer Subject: Re: dm ebs: fix bio->bi_status assignment Date: Wed, 29 Apr 2020 19:04:22 -0400 Message-ID: <20200429230422.GA24904@redhat.com> References: <20200429152253.GA22958@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com Content-Disposition: inline To: Heinz Mauelshagen Cc: dm-devel@redhat.com List-Id: dm-devel.ids On Wed, Apr 29 2020 at 3:40pm -0400, Heinz Mauelshagen wrote: > On 4/29/20 5:22 PM, Mike Snitzer wrote: > >On Wed, Apr 29 2020 at 11:07am -0400, > >heinzm@redhat.com wrote: > > > >>From: Heinz Mauelshagen > >> > >>Assign blk_status_t to bi_status properly in __ebs_process_bios() > >>on error (flaw found by static checker). > >> > >>Reported-by: Dan Carpenter > >>Signed-off-by: Heinz Mauelshagen > >>--- > >> 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