Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:block\blk-core.c Create Date:2022-07-28 17:00:15
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:submit_bio - submit a bio to the block device layer for I/O*@bio: The &struct bio which describes the I/O* submit_bio() is very similar in purpose to generic_make_request(), and* uses that function to do most of the work. Both are fairly rough

Proto:blk_qc_t submit_bio(struct bio *bio)

Type:blk_qc_t

Parameter:

TypeParameterName
struct bio *bio
1148  bool workingset_read = false
1152  If blkcg_punt_bio_submit(bio) Then Return BLK_QC_T_NONE
1159  If Check whether this bio carries any data or not. A NULL bio is allowed. Then
1162  If Value for the false possibility is greater at compile time(bio_op(bio) == REQ_OP_WRITE_SAME) Then count = queue_logical_block_size(queue) >> 9
1164  Else count = bio_sectors(bio)
1167  If op_is_write(bio_op(bio)) Then
1169  Else
1170  If bio_flagged(bio, BIO_WORKINGSET) Then workingset_read = true
1192  If workingset_read Then psi_memstall_enter( & pflags)
1195  ret = generic_make_request - hand a buffer to its device driver for I/O*@bio: The bio describing the location in memory and on the device.* generic_make_request() is used to make I/O requests of block* devices
1197  If workingset_read Then psi_memstall_leave( & pflags)
1200  Return ret
Caller
NameDescribe
swap_readpage
blk_next_bio
blkg_async_bio_workfn
__blkdev_direct_IO_simple
__blkdev_direct_IO
dio_bio_submitIn the AIO read case we speculatively dirty the pages before starting IO.* During IO completion, any of these pages which happen to have been written* back will be redirtied by bio_check_pages_dirty().
mpage_bio_submit
iomap_readpage_actor
iomap_readpage
iomap_readpages
iomap_submit_ioendSubmit the final bio for an ioend.* If @error is non-zero, it means that we have a situation where some part of* the submission process has failed after we have marked paged for writeback* and unlocked them
iomap_chain_bioAllocate a new bio, and chain the old bio to the new one.* Note that we have to do perform the chaining in this unintuitive order* so that the bi_private linkage is set up in the right direction for the* traversal in iomap_finish_ioend().
iomap_dio_submit_bio
hib_submit_io