Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1333984

[PATCH 4.3 014/200] block: ensure to split after potentially bouncing a bio

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

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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