函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:Free the inode passed in, removing it from the lists it is still connected* to

函数原型:static void evict(struct inode *inode)

返回类型:void

参数:

类型参数名称
struct inode *inode
555  op等于s_op
557  BUG_ON(!(Misc & I_FREEING))
558  BUG_ON(!链表为空)
560  如果非链表为空s-writeback.c
563  inode_sb_list_del(inode)
571  inode_wait_for_writeback(inode)
573  如果evict_inode
574  evict_inode(inode)
575  否则
576  runcate_inode_pages_final - truncate *all* pages before inode dies*@mapping: mapping to truncate* Called under (and serialized by) inode->i_mutex.* Filesystems have to use this in the .evict_inode path to inform the
577  清除索引节点
579  如果S_ISBLK(i_mode)且i_bdevbd_forget(inode)
581  如果S_ISCHR(i_mode)且i_cdevcd_forget(inode)
584  从哈希表中移除索引节点
586  加自旋锁
587  wake_up_bit - wake up a waiter on a bit*@word: the word being waited on, a kernel virtual address*@bit: the bit of the word being waited on* There is a standard hashed waitqueue table for generic use
588  BUG_ON(Misc != (I_FREEING | I_CLEAR))
589  自旋锁解锁
591  destroy_inode(inode)
调用者
名称描述
dispose_listdispose_list - dispose of the contents of a local list*@head: the head of the list to free* Dispose-list gets a local list with local inodes in it, so it doesn't* need to worry about list corruption and SMP locks.
iput_finalCalled when we're dropping the last reference* to an inode