函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:include\linux\buffer_head.h Create Date:2022-07-27 13:23:12
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:buffer_new

函数原型:static inline __attribute__((__always_inline__)) int buffer_new(const struct buffer_head *bh)

返回类型:int

参数:

类型参数名称
const struct buffer_head *bh
127  返回:如果__builtin_constant_p( Disk mapping was newly created by get_block )则constant_test_bit(( Disk mapping was newly created by get_block ), ( & buffer state bitmap (see above) ))否则variable_test_bit(( Disk mapping was newly created by get_block ), ( & buffer state bitmap (see above) ))
调用者
名称描述
__block_write_full_pageWhile block_write_full_page is writing back the dirty buffers under* the page lock, whoever dirtied the buffers may decide to clean them* again at any time
page_zero_new_buffersIf a page has any new buffers, zero them out here, and mark them uptodate* and dirty so they'll be written out (in order to prevent uninitialised* block data from leaking). And clear the new bit.
__block_write_begin_int
nobh_write_beginOn entry, the page is fully not uptodate.* On exit the page is fully uptodate in the areas outside (from,to)* The filesystem needs to handle block truncation upon failure.
dio_zero_blockIf 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
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
__mpage_writepage