函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:de_maybe_inc_iversion - increments i_version*@inode: inode with the i_version that should be updated*@force: increment the counter even if it's not necessary?* Every time the inode is modified, the i_version field must be seen to have

函数原型:static inline bool inode_maybe_inc_iversion(struct inode *inode, bool force)

返回类型:bool

参数:

类型参数名称
struct inode *inode
boolforce
212  smp_mb()
213  cur等于de_peek_iversion_raw - grab a "raw" iversion value*@inode: inode from which i_version should be read* Grab a "raw" inode->i_version value and return it. The i_version is not* flagged or converted in any way. This is mostly used to access a self-managed
214  循环
216  如果非force且非cur按位与I_VERSION_QUERIED的值则返回:false
220  new等于cur按位与I_VERSION_QUERIED的反的值加I_VERSION_INCREMENT
222  old等于atomic64_cmpxchg( & i_version, cur, new)
223  如果此条件成立可能性大(为编译器优化)(old == cur)则退出
225  cur等于old
227  返回:true
调用者
名称描述
generic_update_time
inode_inc_iversionde_inc_iversion - forcibly increment i_version*@inode: inode that needs to be updated* Forcbily increment the i_version field. This always results in a change to* the observable value.