Function report |
Source Code:fs\dcache.c |
Create Date:2022-07-28 20:07:26 |
Last Modify:2020-03-18 10:27:32 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:__dentry_kill
Proto:static void __dentry_kill(struct dentry *dentry)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
struct dentry * | dentry |
553 | bool can_free = true |
554 | If Not linux/include/linux/dcache.h* Dirent cache data structures* (C) Copyright 1997 Thomas Schoebel-Theuer,* with heavy changes by Linus Torvalds(dentry) Then parent = parent directory |
566 | If protected by d_lock & DCACHE_OP_PRUNE Then d_prune(dentry) |
569 | If protected by d_lock & DCACHE_LRU_LIST Then |
570 | If Not ( protected by d_lock & DCACHE_SHRINK_LIST) Then d_lru_del(dentry) |
574 | drop a dentry |
575 | dentry_unlist(dentry, parent) |
576 | If parent Then spin_unlock( & d_lock) |
578 | If Where the name belongs to - NULL is * negative Then Release the dentry's inode, using the filesystem* d_iput() operation if defined. |
580 | Else spin_unlock( & d_lock) |
582 | this_cpu_dec(nr_dentry) |
587 | If protected by d_lock & DCACHE_SHRINK_LIST Then |
589 | can_free = false |
591 | spin_unlock( & d_lock) |
592 | If Value is more likely to compile time(can_free) Then dentry_free(dentry) |
594 | cond_resched() |
Name | Describe |
---|---|
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 | prune dcache |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |