函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\buffer.c Create Date:2022-07-29 10:45:16
Last Modify:2020-03-18 10:38:29 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:iomap_to_bh

函数原型:static void iomap_to_bh(struct inode *inode, sector_t block, struct buffer_head *bh, struct iomap *iomap)

返回类型:void

参数:

类型参数名称
struct inode *inode
sector_tblock
struct buffer_head *bh
struct iomap *iomap
1919  offset等于block左移i_blkbits
1921  b_bdev等于 block device for I/O
1929  BUG_ON(offset >= file offset of mapping, bytes + length of mapping, bytes )
1932  : type of mapping 恒等于 blocks allocated, need allocation
1938  如果非Emit the buffer bitops functions. Note that there are also functions* of the form "mark_buffer_foo()". These are higher-level functions which* do something in addition to setting a b_state bit.offset大于等于NOTE: in a 32bit arch with a preemptable kernel and* an UP compile the i_size_read/write must be atomic* with respect to the local cpu (unlike with preempt disabled),* but they don't need to be atomic with respect to other cpus like in* true SMP (so they set_buffer_new(bh)
1941  退出
1942  : type of mapping 恒等于delayed allocation blocks
1943  如果非Emit the buffer bitops functions. Note that there are also functions* of the form "mark_buffer_foo()". These are higher-level functions which* do something in addition to setting a b_state bit.offset大于等于NOTE: in a 32bit arch with a preemptable kernel and* an UP compile the i_size_read/write must be atomic* with respect to the local cpu (unlike with preempt disabled),* but they don't need to be atomic with respect to other cpus like in* true SMP (so they set_buffer_new(bh)
1946  Emit the buffer bitops functions. Note that there are also functions* of the form "mark_buffer_foo()". These are higher-level functions which* do something in addition to setting a b_state bit.
1947  set_buffer_mapped(bh)
1948  set_buffer_delay(bh)
1949  退出
1950  : type of mapping 恒等于locks allocated at @addr in unwritten state
1956  set_buffer_new(bh)
1957  set_buffer_unwritten(bh)
1959  : type of mapping 恒等于locks allocated at @addr
1960  如果 flags for mapping 按位与Flags reported by the file system from iomap_begin:* IOMAP_F_NEW indicates that the blocks have been newly allocated and need* zeroing for areas that no data is copied to.* IOMAP_F_DIRTY indicates the inode has uncommitted metadata needed to accessoffset大于等于NOTE: in a 32bit arch with a preemptable kernel and* an UP compile the i_size_read/write must be atomic* with respect to the local cpu (unlike with preempt disabled),* but they don't need to be atomic with respect to other cpus like in* true SMP (so they set_buffer_new(bh)
1963  start block number 等于 disk offset of mapping, bytes offset file offset of mapping, bytes 右移i_blkbits
1965  set_buffer_mapped(bh)
1966  退出
调用者
名称描述
__block_write_begin_int