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 2.6.         June 2019                    LL_RW_BLOCK(9)
Impressum