1LL_RW_BLOCK(9)                   The Linux VFS                  LL_RW_BLOCK(9)
2
3
4

NAME

6       ll_rw_block - level access to block devices (DEPRECATED)
7

SYNOPSIS

9       void ll_rw_block(int rw, int nr, struct buffer_head * bhs[]);
10

ARGUMENTS

12       rw
13           whether to READ or WRITE or maybe READA (readahead)
14
15       nr
16           number of struct buffer_heads in the array
17
18       bhs[]
19           array of pointers to struct buffer_head
20

DESCRIPTION

22       ll_rw_block takes an array of pointers to struct buffer_heads, and
23       requests an I/O operation on them, either a READ or a WRITE. The third
24       READA option is described in the documentation for generic_make_request
25       which ll_rw_block calls.
26
27       This function drops any buffer that it cannot get a lock on (with the
28       BH_Lock state bit), any buffer that appears to be clean when doing a
29       write request, and any buffer that appears to be up-to-date when doing
30       read request. Further it marks as clean buffers that are processed for
31       writing (the buffer cache won't assume that they are actually clean
32       until the buffer gets unlocked).
33
34       ll_rw_block sets b_end_io to simple completion handler that marks the
35       buffer up-to-date (if approriate), unlocks the buffer and wakes any
36       waiters.
37
38       All of the buffers must be for the same device, and must also be a
39       multiple of the current approved size for the device.
40
42Kernel Hackers Manual 3.10         June 2019                    LL_RW_BLOCK(9)
Impressum