Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\buffer.c Create Date:2022-07-28 20:14:10
Last Modify:2020-03-18 10:38:29 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:iomap_to_bh

Proto:static void iomap_to_bh(struct inode *inode, sector_t block, struct buffer_head *bh, struct iomap *iomap)

Type:void

Parameter:

TypeParameterName
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  Case type of mapping == blocks allocated, need allocation
1938  If Not 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 Then set_buffer_new(bh)
1941  Break
1942  Case type of mapping == delayed allocation blocks
1943  If Not 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 Then 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  Break
1950  Case type of mapping == locks allocated at @addr in unwritten state
1956  set_buffer_new(bh)
1957  set_buffer_unwritten(bh)
1959  Case type of mapping == locks allocated at @addr
1960  If 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 access || 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 Then 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  Break
Caller
NameDescribe
__block_write_begin_int