函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__d_lookup_rcu - search for a dentry (racy, store-free)*@parent: parent dentry*@name: qstr of name we wish to find*@seqp: returns d_seq value at the point where the dentry was found* Returns: dentry, or NULL* __d_lookup_rcu is the dcache lookup function

函数原型:struct dentry *__d_lookup_rcu(const struct dentry *parent, const struct qstr *name, unsigned *seqp)

返回类型:struct dentry

参数:

类型参数名称
const struct dentry *parent
const struct qstr *name
unsigned *seqp
2218  hashlen等于hash_len
2219  str等于name
2220  b等于d_hash(A hash_len is a u64 with the hash of a string in the low* half and the length in the high half.(hashlen))
2247  seqretry :
2265  seq等于aw_seqcount_begin - begin a seq-read critical section*@s: pointer to seqcount_t* Returns: count to be passed to read_seqcount_retry* raw_seqcount_begin opens a read critical section of the given seqcount
2266  如果 parent directory 不等于parent则继续下一循环
2268  如果目录项存在于哈希中则继续下一循环
2271  如果此条件成立可能性小(为编译器优化)( protected by d_lock & DCACHE_OP_COMPARE)则
2274  如果hash不等于A hash_len is a u64 with the hash of a string in the low* half and the length in the high half.(hashlen)则继续下一循环
2276  tlen等于len
2277  tname等于name
2280  cpu_relax()
2281  转到:seqretry
2283  如果d_compare(dentry, tlen, tname, name)不等于0则继续下一循环
2286  否则
2287  如果hash_len不等于hashlen则继续下一循环
2289  如果dentry_cmp(dentry, str, hashlen_len(hashlen))不等于0则继续下一循环
2292  seqp等于seq
2293  返回:dentry
2295  返回:NULL
调用者
名称描述
d_alloc_parallel