函数逻辑报告 | 
Source Code:fs\dcache.c | 
Create Date:2022-07-29 10:37:26 | 
| Last Modify:2020-03-18 10:27:32 | Copyright©Brick | 
| 首页 | 函数Tree | 
| 注解内核,赢得工具 | 下载SCCT | English | 
函数名称:__dentry_kill
函数原型:static void __dentry_kill(struct dentry *dentry)
返回类型:void
参数:
| 类型 | 参数 | 名称 | 
|---|---|---|
| struct dentry * | dentry | 
| 553 | bool can_free = true | 
| 554 | 如果非linux/include/linux/dcache.h* Dirent cache data structures* (C) Copyright 1997 Thomas Schoebel-Theuer,* with heavy changes by Linus Torvalds(dentry)则parent等于 parent directory | 
| 560 | 标记所引用失效 | 
| 566 | 如果 protected by d_lock 按位与DCACHE_OP_PRUNE则d_prune(dentry) | 
| 569 | 如果 protected by d_lock 按位与DCACHE_LRU_LIST则 | 
| 570 | 如果非 protected by d_lock 按位与DCACHE_SHRINK_LIST的值则d_lru_del(dentry) | 
| 574 | 删除目录项 | 
| 575 | dentry_unlist(dentry, parent) | 
| 578 | 如果 Where the name belongs to - NULL is * negative 则Release the dentry's inode, using the filesystem* d_iput() operation if defined. | 
| 580 | 否则自旋锁解锁 | 
| 582 | this_cpu_dec(nr_dentry) | 
| 586 | 加自旋锁 | 
| 587 | 如果 protected by d_lock 按位与DCACHE_SHRINK_LIST则 | 
| 589 | can_free = false | 
| 591 | 自旋锁解锁 | 
| 592 | 如果此条件成立可能性大(为编译器优化)(can_free)则dentry_free(dentry) | 
| 594 | cond_resched() | 
| 名称 | 描述 | 
|---|---|
| dentry_kill | Finish off a dentry we've decided to kill.* Returns dentry requiring refcount drop, or NULL if we're done. | 
| d_prune_aliases | Try to kill dentries associated with this inode.* WARNING: you must own a reference to inode. | 
| shrink_dentry_list | |
| shrink_dcache_parent | 收缩高速缓存区 | 
| 源代码转换工具 开放的插件接口  | X | 
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码  |