[dm-devel] [PATCH v5 00/11] simplify block layer based on immutable biovecs

Ming Lin mlin at kernel.org
Thu Jul 16 07:06:12 UTC 2015


On Mon, 2015-07-13 at 11:35 -0400, Mike Snitzer wrote:
> I will do additional review to answer 1 and 2 above.  And Jeff Moyer
> told me he'd test the patchset on one of his testbeds.

Hi Jeff,

FYI, here is a fix for patch 1.
Or you can pull from my tree.
https://git.kernel.org/cgit/linux/kernel/git/mlin/linux.git/log/?h=block-generic-req

diff --git a/block/blk-mq.c b/block/blk-mq.c
index 40d08e3..181f343 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -1287,12 +1287,12 @@ static void blk_mq_make_request(struct request_queue *q, struct bio *bio)
 		return;
 	}
 
+	blk_queue_split(q, &bio, q->bio_split);
+
 	if (!is_flush_fua && !blk_queue_nomerges(q) &&
 	    blk_attempt_plug_merge(q, bio, &request_count, &same_queue_rq))
 		return;
 
-	blk_queue_split(q, &bio, q->bio_split);
-
 	rq = blk_mq_map_request(q, bio, &data);
 	if (unlikely(!rq))
 		return;
@@ -1374,12 +1374,12 @@ static void blk_sq_make_request(struct request_queue *q, struct bio *bio)
 		return;
 	}
 
+	blk_queue_split(q, &bio, q->bio_split);
+
 	if (!is_flush_fua && !blk_queue_nomerges(q) &&
 	    blk_attempt_plug_merge(q, bio, &request_count, NULL))
 		return;
 
-	blk_queue_split(q, &bio, q->bio_split);
-
 	rq = blk_mq_map_request(q, bio, &data);
 	if (unlikely(!rq))
 		return;





More information about the dm-devel mailing list