Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug

NAME

       generic_make_request -

SYNOPSIS

       void generic_make_request  (struct bio * bio);

ARGUMENTS

       bio    The bio describing the location in memory and on the device.

DESCRIPTION

        generic_make_request 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.

        generic_make_request  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.

       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.

       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.