]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - block/blk-mq.c
block: make generic_make_request handle arbitrarily sized bios
[mirror_ubuntu-bionic-kernel.git] / block / blk-mq.c
index 94559025c5e6530d1a7034dc4e08d4c983e83560..81edbd95bda87eb5da6e21bfa84253daf9ca0747 100644 (file)
@@ -1287,6 +1287,8 @@ 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;
@@ -1372,6 +1374,8 @@ 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;