函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Isolate the inode from the LRU in preparation for freeing it

函数原型:static enum lru_status inode_lru_isolate(struct list_head *item, struct list_lru_one *lru, spinlock_t *lru_lock, void *arg)

返回类型:enum lru_status

参数:

类型参数名称
struct list_head *item
struct list_lru_one *lru
spinlock_t *lru_lock
void *arg
734  freeable等于arg
735  inode等于container_of - cast a member of a structure out to the containing structure*@ptr: the pointer to the member.*@type: the type of the container struct this is embedded in.*@member: the name of the member within the struct.(item, structinode, i_lru)
741  如果非spin_trylock( & _blocks, i_bytes, maybe i_size )则返回:m cannot be locked, skip
748  如果atomic_read( & i_count)或Misc 按位与I_REFERENCED的反则
750  list_lru_isolate(lru, & de LRU list )
751  自旋锁解锁
752  this_cpu_dec(nr_unused)
753  返回:m removed from list
757  如果Misc 按位与I_REFERENCED
758  Misc 与等于I_REFERENCED的反
759  自旋锁解锁
760  返回:m referenced, give another pass
763  如果inode_has_buffers(inode)或nrpages
764  __iget(inode)
765  自旋锁解锁
766  自旋锁解锁
767  如果remove_inode_buffers(inode)则
774  如果reclaim_statereclaimed_slab加等于reap
777  放置一个索引节点
778  加自旋锁
779  返回:m not freeable. May drop the lockinternally, but has to return locked.
782  WARN_ON(Misc & I_NEW)
783  Misc 或等于I_FREEING
784  list_lru_isolate_move(lru, & de LRU list , freeable)
785  自旋锁解锁
787  this_cpu_dec(nr_unused)
788  返回:m removed from list