Chapter 16. Block Devices

Table of Contents

blk_get_backing_dev_info — get the address of a queue's backing_dev_info
generic_unplug_device — fire a request queue
blk_start_queue — restart a previously stopped queue
blk_stop_queue — stop a queue
blk_sync_queue — cancel any pending callbacks on a queue
__blk_run_queue — run a single device queue
blk_run_queue — run a single device queue
blk_init_queue — prepare a request queue for use with a block device
blk_start_queueing — initiate dispatch of requests to device
blk_requeue_request — put a request back on queue
blk_insert_request — insert a special request in to a request queue
submit_bio
blk_complete_request — end I/O on a request
blk_rq_bytes — Returns bytes left to complete in the entire request
blk_rq_cur_bytes — Returns bytes left to complete in the current segment
end_queued_request — end all I/O on a queued request
end_dequeued_request — end all I/O on a dequeued request
end_request — end I/O on the current segment of the request
blk_end_request — Helper function for drivers to complete the request.
__blk_end_request — Helper function for drivers to complete the request.
blk_end_bidi_request — Helper function for drivers to complete bidi request.
blk_end_request_callback — Special helper function for tricky drivers
__generic_make_request
__end_that_request_first — end I/O on a request
blk_end_io — Generic end_io function to complete a request.
blk_rq_map_user — map user data to a request, for REQ_BLOCK_PC usage
blk_rq_unmap_user — unmap a request with user data
blk_rq_map_kern — map kernel data to a request, for REQ_BLOCK_PC usage
blk_release_queue — release a struct request_queue when it is no longer needed
blk_queue_prep_rq — set a prepare_request function for queue
blk_queue_merge_bvec — set a merge_bvec function for queue
blk_queue_make_request — define an alternate make_request function for a device
blk_queue_bounce_limit — set bounce buffer limit for queue
blk_queue_max_sectors — set max sectors for a request for this queue
blk_queue_max_phys_segments — set max phys segments for a request for this queue
blk_queue_max_hw_segments — set max hw segments for a request for this queue
blk_queue_max_segment_size — set max segment size for blk_rq_map_sg
blk_queue_hardsect_size — set hardware sector size for the queue
blk_queue_stack_limits — inherit underlying queue limits for stacked drivers
blk_queue_dma_pad — set pad mask
blk_queue_dma_drain — Set up a drain buffer for excess dma.
blk_queue_segment_boundary — set boundary rules for segment merging
blk_queue_dma_alignment — set dma length and memory alignment
blk_queue_update_dma_alignment — update dma length and memory alignment
blk_end_sync_rq — executes a completion event on a request
blk_execute_rq_nowait — insert a request into queue for execution
blk_execute_rq — insert a request into queue for execution
blk_queue_ordered — does this queue support ordered writes
blkdev_issue_flush — queue a flush
blk_queue_find_tag — find a request by its tag and queue
blk_free_tags — release a given set of tag maintenance info
blk_queue_free_tags — release tag maintenance info
blk_init_tags — initialize the tag info for an external tag map
blk_queue_init_tags — initialize the queue tag info
blk_queue_resize_tags — change the queueing depth
blk_queue_end_tag — end tag operations for a request
blk_queue_start_tag — find a free tag and assign it
blk_queue_invalidate_tags — invalidate all pending tags
__blk_free_tags — release a given set of tag maintenance info
__blk_queue_free_tags — release tag maintenance info