blk_queue_merge_bvec
Prev | Chapter 19. Block Devices | Next

## Name

blk_queue_merge_bvec — set a merge_bvec function for queue

## Synopsis

`void blk_queue_merge_bvec (` | struct request_queue * | q,
| merge_bvec_fn * | mbfn`)`;

## Arguments

`q`

  queue

`mbfn`

  merge_bvec_fn

## Description

Usually queues have static limitations on the max sectors or segments that we can put in a request. Stacking drivers may have some settings that are dynamic, and thus we have to query the queue whether it is ok to add a new bio_vec to a bio at a given offset or not. If the block device has such limitations, it needs to register a merge_bvec_fn to control the size of bio's sent to it. Note that a block device *must* allow a single page to be added to an empty bio. The block device driver may want to use the `bio_split` function to deal with these bio's. By default no merge_bvec_fn is defined for a queue, and only the fixed limits are honored.

Prev | Up | Next
blk_queue_prep_rq | Home | blk_queue_make_request