Lines Matching refs:split
212 * bvec_split_segs - verify whether or not a bvec should be split in the middle
213 * @lim: [in] queue limits to split based on
225 * big to fit in a single segment and hence that it has to be split in the
255 /* tell the caller to split the bvec if it is too big to fit */
260 * bio_split_rw - split a bio in two bios
261 * @bio: [in] bio to be split
262 * @lim: [in] queue limits to split based on
277 * split bio has finished.
292 goto split;
302 goto split;
311 split:
326 * split size so that each bio is properly block size aligned, even if
334 * big IO can be trival, disable iopoll when split needed.
342 * __bio_split_to_limits - split a bio to fit the queue limits
343 * @bio: bio to be split
344 * @lim: queue limits to split based on
347 * Check if @bio needs splitting based on the queue limits, and if so split off
351 * The split bio is allocated from @q->bio_split, which is provided by the
359 struct bio *split;
364 split = bio_split_discard(bio, lim, nr_segs, bs);
367 split = bio_split_write_zeroes(bio, lim, nr_segs, bs);
370 split = bio_split_rw(bio, lim, nr_segs, bs,
372 if (IS_ERR(split))
377 if (split) {
378 /* there isn't chance to merge the split bio */
379 split->bi_opf |= REQ_NOMERGE;
381 blkcg_bio_issue_init(split);
382 bio_chain(split, bio);
383 trace_block_split(split, bio->bi_iter.bi_sector);
385 return split;
391 * bio_split_to_limits - split a bio to fit the queue limits
392 * @bio: bio to be split
395 * if so split off a bio fitting the limits from the beginning of @bio and
398 * The split bio is allocated from @q->bio_split, which is provided by the