.\" This manpage has been automatically generated by docbook2man
.\" from a DocBook document. This tool can be found at:
.\"
.\" Please send any bug reports, improvements, comments, patches,
.\" etc. to Steve Cheng .
.TH "BLK_QUEUE_MERGE_BVEC" "9" "09 October 2005" "" ""
.SH NAME
blk_queue_merge_bvec \- set a merge_bvec function for queue
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
void blk_queue_merge_bvec (request_queue_t * \fIq\fB, merge_bvec_fn * \fImbfn\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIq\fB\fR
queue
.TP
\fB\fImbfn\fB\fR
merge_bvec_fn
.SH "DESCRIPTION"
.PP
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 \fBbio_split\fR 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.