.\" 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 "GENERIC_MAKE_REQUEST" "" "06 October 2005" "" ""
.SH NAME
generic_make_request \-
.SH SYNOPSIS
"SYNOPSIS"
.sp
\fB
.sp
void generic_make_request (struct bio * \fIbio\fB);
\fR
.SH "ARGUMENTS"
.TP
\fB\fIbio\fB\fR
The bio describing the location in memory and on the device.
.SH "DESCRIPTION"
.PP
\fBgeneric_make_request\fR is used to make I/O requests of block
devices. It is passed a &struct bio, which describes the I/O that needs
to be done.
.PP
\fBgeneric_make_request\fR does not return any status. The
success/failure status of the request, along with notification of
completion, is delivered asynchronously through the bio->bi_end_io
function described (one day) else where.
.PP
The caller of generic_make_request must make sure that bi_io_vec
are set to describe the memory buffer, and that bi_dev and bi_sector are
set to describe the device address, and the
bi_end_io and optionally bi_private are set to describe how
completion notification should be signaled.
.PP
generic_make_request and the drivers it calls may use bi_next if this
bio happens to be merged with someone else, and may change bi_dev and
bi_sector for remaps as it sees fit. So the values of these fields
should NOT be depended on after the call to generic_make_request.