projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
8e9f666
)
block: fix req_bio_endio append error handling
author
Pavel Begunkov
<asml.silence@gmail.com>
Fri, 22 Oct 2021 15:01:44 +0000
(16:01 +0100)
committer
Jens Axboe
<axboe@kernel.dk>
Fri, 22 Oct 2021 15:12:37 +0000
(09:12 -0600)
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>
Link:
https://lore.kernel.org/r/344ea4e334aace9148b41af5f2426da38c8aa65a.1634914228.git.asml.silence@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk-mq.c
patch
|
blob
|
blame
|
history
diff --git
a/block/blk-mq.c
b/block/blk-mq.c
index d04ee72ba1255391b99f5869457a9ae4620ab4fe..c19dfa8ea65e10c9b5a94d8a82383cd791c62627 100644
(file)
--- 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;