Chapter 14. Block Devices

Table of Contents

blk_delay_queue — restart queueing after defined interval
blk_start_queue_async — asynchronously restart a previously stopped 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_uncond — run a queue whether or not it has been stopped
__blk_run_queue — run a single device queue
blk_run_queue_async — run a single device queue in workqueue context
blk_run_queue — run a single device queue
blk_queue_bypass_start — enter queue bypass mode
blk_queue_bypass_end — leave queue bypass mode
blk_cleanup_queue — shutdown a request queue
blk_init_queue — prepare a request queue for use with a block device
blk_requeue_request — put a request back on queue
part_round_stats — Round off the performance stats on a struct disk_stats.
generic_make_request — hand a buffer to its device driver for I/O
submit_bio — submit a bio to the block device layer for I/O
blk_insert_cloned_request — Helper for stacking drivers to submit a request
blk_rq_err_bytes — determine number of bytes till the next failure boundary
blk_peek_request — peek at the top of a request queue
blk_start_request — start request processing on the driver
blk_fetch_request — fetch a request from a request queue
blk_update_request — Special helper function for request stacking drivers
blk_unprep_request — unprepare a request
blk_end_request — Helper function for drivers to complete the request.
blk_end_request_all — Helper function for drives to finish the request.
blk_end_request_cur — Helper function to finish the current request chunk.
blk_end_request_err — Finish a request till the next failure boundary.
__blk_end_request — Helper function for drivers to complete the request.
__blk_end_request_all — Helper function for drives to finish the request.
__blk_end_request_cur — Helper function to finish the current request chunk.
__blk_end_request_err — Finish a request till the next failure boundary.
rq_flush_dcache_pages — Helper function to flush all pages in a request
blk_lld_busy — Check if underlying low-level drivers of a device are busy
blk_rq_unprep_clone — Helper function to free all bios in a cloned request
blk_rq_prep_clone — Helper function to setup clone request
blk_start_plug — initialize blk_plug and track it inside the task_struct
blk_pm_runtime_init — Block layer runtime PM initialization routine
blk_pre_runtime_suspend — Pre runtime suspend check
blk_post_runtime_suspend — Post runtime suspend processing
blk_pre_runtime_resume — Pre runtime resume processing
blk_post_runtime_resume — Post runtime resume processing
blk_set_runtime_active — Force runtime status of the queue to be active
__blk_drain_queue — drain requests from request_queue
__get_request — get a free request
get_request — get a free request
blk_attempt_plug_merge — try to merge with current's plugged list
blk_cloned_rq_check_limits — Helper function to check a cloned request for new the queue limits
blk_end_bidi_request — Complete a bidi request
__blk_end_bidi_request — Complete a bidi request with queue lock held
blk_rq_map_user_iov — map user data to a request, for passthrough requests
blk_rq_unmap_user — unmap a request with user data
blk_rq_map_kern — map kernel data to a request, for passthrough requests
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_unprep_rq — set an unprepare_request function for queue
blk_set_default_limits — reset limits to default values
blk_set_stacking_limits — set default limits for stacking devices
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_hw_sectors — set max sectors for a request for this queue
blk_queue_chunk_sectors — set size of the chunk for this queue
blk_queue_max_discard_sectors — set max sectors for a single discard
blk_queue_max_write_same_sectors — set max sectors for a single write same
blk_queue_max_write_zeroes_sectors — set max sectors for a single write zeroes
blk_queue_max_segments — set max hw segments for a request for this queue
blk_queue_max_discard_segments — set max segments for discard requests
blk_queue_max_segment_size — set max segment size for blk_rq_map_sg
blk_queue_logical_block_size — set logical block size for the queue
blk_queue_physical_block_size — set physical block size for the queue
blk_queue_alignment_offset — set physical block alignment offset
blk_limits_io_min — set minimum request size for a device
blk_queue_io_min — set minimum request size for the queue
blk_limits_io_opt — set optimal request size for a device
blk_queue_io_opt — set optimal request size for the queue
blk_queue_stack_limits — inherit underlying queue limits for stacked drivers
blk_stack_limits — adjust queue_limits for stacked devices
bdev_stack_limits — adjust queue limits for stacked drivers
disk_stack_limits — adjust 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_virt_boundary — set boundary rules for bio merging
blk_queue_dma_alignment — set dma length and memory alignment
blk_queue_update_dma_alignment — update dma length and memory alignment
blk_set_queue_depth — tell the block layer about the device queue depth
blk_queue_write_cache — configure queue's write cache
blk_execute_rq_nowait — insert a request into queue for execution
blk_execute_rq — insert a request into queue for execution
blkdev_issue_flush — queue a flush
blkdev_issue_discard — queue a discard
blkdev_issue_write_same — queue a write same operation
__blkdev_issue_zeroout — generate number of zero filed write bios
blkdev_issue_zeroout — zero-fill a block range
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_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 — Unregister 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_bio_remap — Add a trace for a bio-remap operation
blk_add_trace_rq_remap — Add a trace for a request-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
disk_replace_part_tbl — replace disk->part_tbl in RCU-safe way
disk_expand_part_tbl — expand disk->part_tbl
disk_block_events — block and flush disk event checking
disk_unblock_events — unblock disk event checking
disk_flush_events — schedule immediate event checking and flushing
disk_clear_events — synchronously check, clear and return pending events
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
register_blkdev — register a new block device
device_add_disk — add partitioning information to kernel list
get_gendisk — get partitioning information for a given device
bdget_disk — do bdget by gendisk and partition number