Chapter 14. Block Devices

Table of Contents

blk_get_backing_dev_info — get the address of a queue's backing_dev_info
blk_plug_device_unlocked — plug a device without queue lock held
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 into a request queue
part_round_stats — Round off the performance stats on a struct disk_stats.
submit_bio — submit a bio to the block device layer for I/O
blk_rq_check_limits — Helper function to check a request for the queue limit
blk_insert_cloned_request — Helper for stacking drivers to submit a request
blkdev_dequeue_request — dequeue request and start timeout timer
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_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_update_request — Special helper function for request stacking drivers
blk_end_request_callback — Special helper function for tricky drivers
blk_lld_busy — Check if underlying low-level drivers of a device are busy
__generic_make_request — hand a buffer to its device driver for I/O
__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_TYPE_BLOCK_PC usage
blk_rq_map_user_iov — map user data to a request, for REQ_TYPE_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_TYPE_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_set_discard — set a discard_sectors 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_update_dma_pad — update 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_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
blkdev_issue_discard — queue a discard
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
blk_rq_count_integrity_sg — Count number of integrity scatterlist elements
blk_rq_map_integrity_sg — Map integrity metadata into a scatterlist
blk_integrity_compare — Compare integrity profile of two disks
blk_integrity_register — Register a gendisk as being integrity-capable
blk_integrity_unregister — Remove block integrity profile
blk_trace_ioctl — handle the ioctls associated with tracing
blk_trace_shutdown — stop and cleanup trace structures
blk_add_trace_rq — Add a trace for a request oriented action
blk_add_trace_bio — Add a trace for a bio oriented action
blk_add_trace_remap — Add a trace for a remap operation
blk_mangle_minor — scatter minor numbers apart
blk_alloc_devt — allocate a dev_t for a partition
blk_free_devt — free a dev_t
get_gendisk — get partitioning information for a given device
disk_replace_part_tbl — replace disk->part_tbl in RCU-safe way
disk_expand_part_tbl — expand disk->part_tbl
disk_get_part — get partition
disk_part_iter_init — initialize partition iterator
disk_part_iter_next — proceed iterator to the next partition and return it
disk_part_iter_exit — finish up partition iteration
disk_map_sector_rcu — map sector to partition
add_disk — add partitioning information to kernel list
bdget_disk — do bdget by gendisk and partition number