函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Finish off a dentry we've decided to kill.* Returns dentry requiring refcount drop, or NULL if we're done.

函数原型:static struct dentry *dentry_kill(struct dentry *dentry)__releases(dentry->d_lock)

返回类型:struct dentry

参数:

类型参数名称
struct dentry *dentry>d_lock must be held, returns with it unlocked.
667  inode等于 Where the name belongs to - NULL is * negative
668  struct dentry * parent = NULL
670  如果inode此条件成立可能性小(为编译器优化)(!spin_trylock( & _blocks, i_bytes, maybe i_size ))则转到:slow_positive
673  如果非linux/include/linux/dcache.h* Dirent cache data structures* (C) Copyright 1997 Thomas Schoebel-Theuer,* with heavy changes by Linus Torvalds(>d_lock must be held, returns with it unlocked.)则
674  parent等于 parent directory
680  如果parent自旋锁解锁
683  转到:slow_positive
686  __dentry_kill(>d_lock must be held, returns with it unlocked.)
687  返回:parent
689  slow_positive :
690  自旋锁解锁
691  加自旋锁
692  加自旋锁
693  parent等于lock_parent(>d_lock must be held, returns with it unlocked.)
694  got_locks :
695  如果此条件成立可能性小(为编译器优化)(count != 1)则
696  count自减
697  否则如果此条件成立可能性大(为编译器优化)(!retain_dentry(>d_lock must be held, returns with it unlocked.))则
698  __dentry_kill(>d_lock must be held, returns with it unlocked.)
699  返回:parent
702  如果inode自旋锁解锁
704  如果parent自旋锁解锁
706  自旋锁解锁
707  返回:NULL
调用者
名称描述
dputdput - release a dentry*@dentry: dentry to release * Release a dentry. This will drop the usage count and if appropriate* call the dentry unlink method as well as removing it from the queues and* releasing its resources