函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |