函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:does _NOT_ require i_mutex to be held.* This function cannot be inlined since i_size_{read,write} is rather* heavy-weight on 32-bit systems

函数原型:void fsstack_copy_inode_size(struct inode *dst, struct inode *src)

返回类型:void

参数:

类型参数名称
struct inode *dst
struct inode *src
22  i_size等于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
34  如果i_blocks的长度大于sizeof(long)则加自旋锁
36  i_blocks等于i_blocks
37  如果i_blocks的长度大于sizeof(long)则自旋锁解锁
53  如果i_size的长度大于sizeof(long)或i_blocks的长度大于sizeof(long)则加自旋锁
55  NOTE: unlike i_size_read(), i_size_write() does need locking around it* (normally i_mutex), otherwise on 32bit/SMP an update of i_size_seqcount* can be lost, resulting in subsequent i_size_read() calls spinning forever.
56  i_blocks等于i_blocks
57  如果i_size的长度大于sizeof(long)或i_blocks的长度大于sizeof(long)则自旋锁解锁