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
whether to READ or WRITE or SWRITE or maybe READA (readahead)
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 READ or a WRITE. The third SWRITE is like WRITE only we make sure that the *current* data in buffers are sent to disk. The fourth 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) unless SWRITE is required, 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

Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout