dm: call blk_queue_split() to impose device limits on bios
authorMike Snitzer <snitzer@redhat.com>
Mon, 3 Dec 2018 21:47:21 +0000 (16:47 -0500)
committerMike Snitzer <snitzer@redhat.com>
Fri, 7 Dec 2018 21:04:22 +0000 (16:04 -0500)
Otherwise the incoming bios, of various types, won't be shaped based on
the DM device's advertised limits.

Depends-on: af67c31fba ("blk: remove bio_set arg from blk_queue_split()")
Fixes: 744889b7cb ("block: don't deal with discard limit in blkdev_issue_discard()")
Cc: stable@vger.kernel.org
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm.c

index c510179a7f845eb4f25e5818e39e54eb9afadcfb..63a7c416b224e7e840a87a6b2259a18fb83f0898 100644 (file)
@@ -1593,6 +1593,8 @@ static blk_qc_t __split_and_process_bio(struct mapped_device *md,
                return ret;
        }
 
+       blk_queue_split(md->queue, &bio);
+
        init_clone_info(&ci, md, map, bio);
 
        if (bio->bi_opf & REQ_PREFLUSH) {