函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\direct-io.c Create Date:2022-07-29 10:46:35
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:If we are not writing the entire block and get_block() allocated* the block for us, we need to fill-in the unused portion of the* block with zeros

函数原型:static inline void dio_zero_block(struct dio *dio, struct dio_submit *sdio, int end, struct buffer_head *map_bh)

返回类型:void

参数:

类型参数名称
struct dio *dio
struct dio_submit *sdio
intend
struct buffer_head *map_bh
900  lag: sub-blocksize zeroing hasbeen performed at the start of awrite 等于1
901  如果非When we're using an alignment whichis finer than the filesystem's softblocksize, this specifies how muchfiner. blkfactor=2 means 1/4-blockalignment. Does not change 或非buffer_new(map_bh)则返回
904  dio_blocks_per_fs_block等于1左移When we're using an alignment whichis finer than the filesystem's softblocksize, this specifies how muchfiner. blkfactor=2 means 1/4-blockalignment. Does not change
905  this_chunk_blocks等于Current offset into the underlyingfile in dio_block units. 按位与dio_blocks_per_fs_block减1
907  如果非this_chunk_blocks则返回
914  如果endthis_chunk_blocks等于dio_blocks_per_fs_blockthis_chunk_blocks
917  this_chunk_bytes等于this_chunk_blocks左移doesn't change
919  page等于ZERO_PAGE(0)
920  如果An autonomous function to put a chunk of a page under deferred IO.* The caller doesn't actually know (or care) whether this piece of page is in* a BIO, or is under IO or whatever. We just take care of all possible * situations here则返回
924  xt block to be put under IO,in dio_blocks units 加等于this_chunk_blocks
调用者
名称描述
do_direct_IOWalk the user pages, and the file, mapping blocks to disk and generating* a sequence of (page,offset,len,block) mappings. These mappings are injected* into submit_page_section(), which takes care of the next stage of submission
do_blockdev_direct_IOThis is a library function for use by filesystem drivers