| ll_rw_block(9) - phpMan
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 op, int op_flags, int nr, struct buffer_head * bhs[]);
ARGUMENTS
op
whether to READ or WRITE
op_flags
rq_flag_bits
nr
number of struct buffer_heads in the array
bhs[]
array of pointers to struct buffer_head
DESCRIPTION
ll_rw_block takes an array of pointers to struct buffer_heads, and requests an I/O
operation on them, either a REQ_OP_READ or a REQ_OP_WRITE. op_flags contains flags
modifying the detailed I/O behavior, most notably REQ_RAHEAD.
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 appropriate), 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
Kernel Hackers Manual 4.8. January 2017 LL_RW_BLOCK(9)
|