Message ID | 344ea4e334aace9148b41af5f2426da38c8aa65a.1634914228.git.asml.silence@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [for-next] block: fix req_bio_endio append error handling | expand |
On Fri, 22 Oct 2021 16:01:44 +0100, Pavel Begunkov wrote: > Shinichiro Kawasaki reports that there is a bug in a recent > req_bio_endio() patch causing problems with zonefs. As Shinichiro > suggested, inverse the condition in zone append path to resemble how it > was before: fail when it's not fully completed. > > Applied, thanks! [1/1] block: fix req_bio_endio append error handling commit: 297db731847e7808881ec2123c7564067d594d39 Best regards,
diff --git a/block/blk-mq.c b/block/blk-mq.c index d04ee72ba125..c19dfa8ea65e 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c @@ -640,7 +640,7 @@ static void req_bio_endio(struct request *rq, struct bio *bio, * Partial zone append completions cannot be supported as the * BIO fragments may end up not being written sequentially. */ - if (bio->bi_iter.bi_size == nbytes) + if (bio->bi_iter.bi_size != nbytes) bio->bi_status = BLK_STS_IOERR; else bio->bi_iter.bi_sector = rq->__sector;
Shinichiro Kawasaki reports that there is a bug in a recent req_bio_endio() patch causing problems with zonefs. As Shinichiro suggested, inverse the condition in zone append path to resemble how it was before: fail when it's not fully completed. Fixes: 478eb72b815f3 ("block: optimise req_bio_endio()") Reported-by: Shinichiro Kawasaki <shinichiro.kawasaki@wdc.com> Signed-off-by: Pavel Begunkov <asml.silence@gmail.com> --- block/blk-mq.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)