DM appears to be the only block driver that doesn't lean on the block core's bio splitting. My hope is to fix that but in the meantime it doesn't make sense for a device that doesn't need blk_queue_split() to go through the associated work. Signed-off-by: Mike Snitzer <snitzer@xxxxxxxxxx> --- block/blk-merge.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/block/blk-merge.c b/block/blk-merge.c index f5dedd5..212004c 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c @@ -186,6 +186,9 @@ void blk_queue_split(struct request_queue *q, struct bio **bio) struct bio *split, *res; unsigned nsegs; + if (!q->bio_split) + return; + switch (bio_op(*bio)) { case REQ_OP_DISCARD: case REQ_OP_SECURE_ERASE: -- 2.10.1