Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1333984
| From | Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH 4.3 014/200] block: ensure to split after potentially bouncing a bio |
| Date | 2016-02-15 01:30 +0100 |
| Message-ID | <r2fd8-1KG-13@gated-at.bofh.it> (permalink) |
| References | <r2duF-zw-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
4.3-stable review patch. If anyone has any objections, please let me know.
------------------
From: Junichi Nomura <j-nomura@ce.jp.nec.com>
commit 23688bf4f830a89866fd0ed3501e342a7360fe4f upstream.
blk_queue_bio() does split then bounce, which makes the segment
counting based on pages before bouncing and could go wrong. Move
the split to after bouncing, like we do for blk-mq, and the we
fix the issue of having the bio count for segments be wrong.
Fixes: 54efd50bfd87 ("block: make generic_make_request handle arbitrarily sized bios")
Tested-by: Artem S. Tashkinov <t.artem@lycos.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
block/blk-core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/block/blk-core.c
+++ b/block/blk-core.c
@@ -1616,8 +1616,6 @@ static void blk_queue_bio(struct request
struct request *req;
unsigned int request_count = 0;
- blk_queue_split(q, &bio, q->bio_split);
-
/*
* low level driver can indicate that it wants pages above a
* certain limit bounced to low memory (ie for highmem, or even
@@ -1625,6 +1623,8 @@ static void blk_queue_bio(struct request
*/
blk_queue_bounce(q, &bio);
+ blk_queue_split(q, &bio, q->bio_split);
+
if (bio_integrity_enabled(bio) && bio_integrity_prep(bio)) {
bio->bi_error = -EIO;
bio_endio(bio);
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 4.3 000/200] 4.3.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:20 +0100
[PATCH 4.3 012/200] dm btree: fix leak of bufio-backed block in btree_split_sibling error path Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
[PATCH 4.3 014/200] block: ensure to split after potentially bouncing a bio Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
[PATCH 4.3 001/200] crypto: crc32c-pclmul - use .rodata instead of .rotata Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
[PATCH 4.3 010/200] crypto: sun4i-ss - add missing statesize Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
[PATCH 4.3 015/200] NFSv4.1/pnfs: Fixup an lo->plh_block_lgets imbalance in layoutreturn Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
[PATCH 4.3 011/200] block: Always check queue limits for cloned requests Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 01:30 +0100
Re: [PATCH 4.3 000/200] 4.3.6-stable review Guenter Roeck <linux@roeck-us.net> - 2016-02-15 01:50 +0100
Re: [PATCH 4.3 000/200] 4.3.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-15 02:00 +0100
Re: [PATCH 4.3 000/200] 4.3.6-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-15 16:20 +0100
Re: [PATCH 4.3 000/200] 4.3.6-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-15 18:20 +0100
Re: [PATCH 4.3 000/200] 4.3.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-17 21:40 +0100
Re: [PATCH 4.3 000/200] 4.3.6-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-17 21:50 +0100
Re: [PATCH 4.3 000/200] 4.3.6-stable review Shuah Khan <shuahkh@osg.samsung.com> - 2016-02-18 04:20 +0100
Re: [PATCH 4.3 000/200] 4.3.6-stable review Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-02-19 23:30 +0100
Re: [PATCH 4.3 000/200] 4.3.6-stable review Guenter Roeck <linux@roeck-us.net> - 2016-02-15 16:50 +0100
csiph-web