table of contents
LL_RW_BLOCK(9) | The Linux VFS | LL_RW_BLOCK(9) |
NAME¶
ll_rw_block - level access to block devices (DEPRECATED)
SYNOPSIS¶
void ll_rw_block(int rw, int nr, struct buffer_head * bhs[]);
ARGUMENTS¶
rw
nr
bhs[]
DESCRIPTION¶
ll_rw_block takes an array of pointers to struct buffer_heads, and requests an I/O operation on them, either a READ or a WRITE. The third READA option is described in the documentation for generic_make_request which ll_rw_block calls.
This function drops any buffer that it cannot get a lock on (with the BH_Lock state bit), any buffer that appears to be clean when doing a write request, and any buffer that appears to be up-to-date when doing read request. Further it marks as clean buffers that are processed for writing (the buffer cache won´t assume that they are actually clean until the buffer gets unlocked).
ll_rw_block sets b_end_io to simple completion handler that marks the buffer up-to-date (if approriate), unlocks the buffer and wakes any waiters.
All of the buffers must be for the same device, and must also be a multiple of the current approved size for the device.
COPYRIGHT¶
May 2024 | Kernel Hackers Manual 2.6. |