1GENERIC_MAKE_REQUEST(9)          Block Devices         GENERIC_MAKE_REQUEST(9)
2
3
4

NAME

6       generic_make_request - hand a buffer to its device driver for I/O
7

SYNOPSIS

9       void generic_make_request(struct bio * bio);
10

ARGUMENTS

12       bio
13           The bio describing the location in memory and on the device.
14

DESCRIPTION

16       generic_make_request is used to make I/O requests of block devices. It
17       is passed a struct bio, which describes the I/O that needs to be done.
18
19       generic_make_request does not return any status. The success/failure
20       status of the request, along with notification of completion, is
21       delivered asynchronously through the bio->bi_end_io function described
22       (one day) else where.
23
24       The caller of generic_make_request must make sure that bi_io_vec are
25       set to describe the memory buffer, and that bi_dev and bi_sector are
26       set to describe the device address, and the bi_end_io and optionally
27       bi_private are set to describe how completion notification should be
28       signaled.
29
30       generic_make_request and the drivers it calls may use bi_next if this
31       bio happens to be merged with someone else, and may resubmit the bio to
32       a lower device by calling into generic_make_request recursively, which
33       means the bio should NOT be touched after the call to
34       ->make_request_fn.
35
37Kernel Hackers Manual 3.10         June 2019           GENERIC_MAKE_REQUEST(9)
Impressum