1BLK_QUEUE_MERGE_BVEC(9) Block Devices BLK_QUEUE_MERGE_BVEC(9)
2
3
4
6 blk_queue_merge_bvec - set a merge_bvec function for queue
7
9 void blk_queue_merge_bvec(struct request_queue * q,
10 merge_bvec_fn * mbfn);
11
13 q
14 queue
15
16 mbfn
17 merge_bvec_fn
18
20 Usually queues have static limitations on the max sectors or segments
21 that we can put in a request. Stacking drivers may have some settings
22 that are dynamic, and thus we have to query the queue whether it is ok
23 to add a new bio_vec to a bio at a given offset or not. If the block
24 device has such limitations, it needs to register a merge_bvec_fn to
25 control the size of bio's sent to it. Note that a block device *must*
26 allow a single page to be added to an empty bio. The block device
27 driver may want to use the bio_split function to deal with these bio's.
28 By default no merge_bvec_fn is defined for a queue, and only the fixed
29 limits are honored.
30
32Kernel Hackers Manual 2.6. November 2011 BLK_QUEUE_MERGE_BVEC(9)