函数逻辑报告 |
Source Code:block\blk-core.c |
Create Date:2022-07-27 18:35:26 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称: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
函数原型:blk_qc_t submit_bio(struct bio *bio)
返回类型:blk_qc_t
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct bio * | bio |
| 1148 | bool workingset_read = false |
| 1152 | 如果blkcg_punt_bio_submit(bio)则返回:BLK_QC_T_NONE |
| 1162 | 如果此条件成立可能性小(为编译器优化)(bio_op(bio) == REQ_OP_WRITE_SAME)则count等于queue_logical_block_size(queue)右移9位 |
| 1164 | 否则count等于bio_sectors(bio) |
| 1167 | 如果op_is_write(bio_op(bio))则 |
| 1168 | count_vm_events(PGPGOUT, count) |
| 1169 | 否则 |
| 1170 | 如果bio_flagged(bio, BIO_WORKINGSET)则workingset_read = true |
| 1173 | count_vm_events(PGPGIN, count) |
| 1192 | 如果workingset_read则psi_memstall_enter( & pflags) |
| 1197 | 如果workingset_read则psi_memstall_leave( & pflags) |
| 1200 | 返回:ret |
| 名称 | 描述 |
|---|---|
| swap_readpage | |
| blk_next_bio | |
| blkg_async_bio_workfn | |
| __blkdev_direct_IO_simple | |
| __blkdev_direct_IO | |
| dio_bio_submit | In 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_ioend | Submit 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_bio | Allocate 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 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |