blk-merge.c (bdced438acd83ad83a6c6fc7f50099b820245ddb) blk-merge.c (6ac45aeb6bcad38a2783a7d6e5da4c469497eeb0)
1/*
2 * Functions related to segment and merge handling
3 */
4#include <linux/kernel.h>
5#include <linux/module.h>
6#include <linux/bio.h>
7#include <linux/blkdev.h>
8#include <linux/scatterlist.h>

--- 125 unchanged lines hidden (view full) ---

134 split = blk_bio_segment_split(q, *bio, q->bio_split, &nsegs);
135
136 /* physical segments can be figured out during splitting */
137 res = split ? split : *bio;
138 res->bi_phys_segments = nsegs;
139 bio_set_flag(res, BIO_SEG_VALID);
140
141 if (split) {
1/*
2 * Functions related to segment and merge handling
3 */
4#include <linux/kernel.h>
5#include <linux/module.h>
6#include <linux/bio.h>
7#include <linux/blkdev.h>
8#include <linux/scatterlist.h>

--- 125 unchanged lines hidden (view full) ---

134 split = blk_bio_segment_split(q, *bio, q->bio_split, &nsegs);
135
136 /* physical segments can be figured out during splitting */
137 res = split ? split : *bio;
138 res->bi_phys_segments = nsegs;
139 bio_set_flag(res, BIO_SEG_VALID);
140
141 if (split) {
142 /* there isn't chance to merge the splitted bio */
143 split->bi_rw |= REQ_NOMERGE;
144
142 bio_chain(split, *bio);
143 generic_make_request(*bio);
144 *bio = split;
145 }
146}
147EXPORT_SYMBOL(blk_queue_split);
148
149static unsigned int __blk_recalc_rq_segments(struct request_queue *q,

--- 583 unchanged lines hidden ---
145 bio_chain(split, *bio);
146 generic_make_request(*bio);
147 *bio = split;
148 }
149}
150EXPORT_SYMBOL(blk_queue_split);
151
152static unsigned int __blk_recalc_rq_segments(struct request_queue *q,

--- 583 unchanged lines hidden ---