Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ll_rw_block(9) [suse man page]

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 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
Kernel Hackers Manual 2.6. July 2010 LL_RW_BLOCK(9)

Check Out this Related Man Page

JOURNAL_GET_UNDO_ACC(9) 				     The Linux Journalling API					   JOURNAL_GET_UNDO_ACC(9)

NAME
journal_get_undo_access - Notify intent to modify metadata with non-rewindable consequences SYNOPSIS
int journal_get_undo_access(handle_t * handle, struct buffer_head * bh); ARGUMENTS
handle transaction bh buffer to undo DESCRIPTION
Sometimes there is a need to distinguish between metadata which has been committed to disk and that which has not. The ext3fs code uses this for freeing and allocating space, we have to make sure that we do not reuse freed space until the deallocation has been committed, since if we overwrote that space we would make the delete un-rewindable in case of a crash. To deal with that, journal_get_undo_access requests write access to a buffer for parts of non-rewindable operations such as delete operations on the bitmaps. The journaling code must keep a copy of the buffer's contents prior to the undo_access call until such time as we know that the buffer has definitely been committed to disk. We never need to know which transaction the committed data is part of, buffers touched here are guaranteed to be dirtied later and so will be committed to a new transaction in due course, at which point we can discard the old committed data pointer. Returns error number or 0 on success. AUTHORS
Roger Gammans <rgammans@computer-surgery.co.uk> Author. Stephen Tweedie <sct@redhat.com> Author. COPYRIGHT
Kernel Hackers Manual 3.10 June 2014 JOURNAL_GET_UNDO_ACC(9)
Man Page