.\" This documentation was generated from the book titled "The Linux Kernel API", which is part of the Linux kernel source. .\" .\" This documentation comes with the following legal notice: .\" .\" This documentation is free software; you can redistribute .\" it and/or modify it under the terms of the GNU General Public .\" License as published by the Free Software Foundation; either .\" version 2 of the License, or (at your option) any later .\" version. .\" .\" This program is distributed in the hope that it will be .\" useful, but WITHOUT ANY WARRANTY; without even the implied .\" warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. .\" See the GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this program; if not, write to the Free .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, .\" MA 02111-1307 USA .\" .\" For more details see the file COPYING in the source .\" distribution of Linux. .\" .\" For comments on the formatting of this manpage, please contact Michael Still .\" 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" "9" "09 April 2004" "" "" .SH NAME generic_make_request \- .SH 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. .SH "ABOUT THIS DOCUMENT" .PP This documentation was generated with kernel version 2.6.0.