Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\inode.c Create Date:2022-07-28 20:07:58
Last Modify:2020-03-18 19:19:59 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:Called when we're dropping the last reference* to an inode

Proto:static void iput_final(struct inode *inode)

Type:void

Parameter:

TypeParameterName
struct inode *inode
1539  sb = i_sb
1540  op = s_op
1543  WARN_ON(Misc & Serves as both a mutex and completion notification)
1545  If drop_inode Then drop = drop_inode(inode)
1547  Else drop = generic_drop_inode(inode)
1550  If Not drop && s_flags & SB_ACTIVE Then
1551  Add inode to LRU if needed (inode is unused and clean).* Needs inode->i_lock held.
1552  spin_unlock( & _blocks, i_bytes, maybe i_size )
1553  Return
1556  If Not drop Then
1557  Misc |= Must be set when calling write_inode_now() if i_count is zero
1558  spin_unlock( & _blocks, i_bytes, maybe i_size )
1559  write_inode_now(inode, 1)
1560  spin_lock( & _blocks, i_bytes, maybe i_size )
1561  WARN_ON(Misc & Serves as both a mutex and completion notification)
1562  Misc &= ~Must be set when calling write_inode_now() if i_count is zero
1565  Misc |= Set when inode is about to be freed but still has dirty pages or buffers attached or the inode itself is still dirty
1566  If Not list_empty - tests whether a list is empty*@head: the list to test. Then inode_lru_list_del(inode)
1568  spin_unlock( & _blocks, i_bytes, maybe i_size )
1570  Free the inode passed in, removing it from the lists it is still connected* to
Caller
NameDescribe
iputput an inode