函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:insert_inode_locked

函数原型:int insert_inode_locked(struct inode *inode)

返回类型:int

参数:

类型参数名称
struct inode *inode
1459  sb等于i_sb
1460  ino等于Stat data, not accessed from path walking
1461  head等于inode_hashtablehash(sb, ino)
1463  当1循环
1464  struct inode * old = NULL
1465  加自旋锁
1467  如果Stat data, not accessed from path walking 不等于ino则继续下一循环
1469  如果i_sb不等于sb则继续下一循环
1471  加自旋锁
1472  如果Misc 按位与I_FREEING按位或I_WILL_FREE的值则
1474  继续下一循环
1476  退出
1478  如果此条件成立可能性大(为编译器优化)(!old)则
1479  加自旋锁
1480  Misc 或等于I_NEW按位或I_CREATING
1481  hlist_add_head( & i_hash, head)
1482  自旋锁解锁
1483  自旋锁解锁
1484  返回:0
1486  如果此条件成立可能性小(为编译器优化)(Misc & I_CREATING)则
1487  自旋锁解锁
1488  自旋锁解锁
1489  返回:负EBUSY
1491  __iget(old)
1492  自旋锁解锁
1493  自旋锁解锁
1494  writeback.h requires fs.h; it, too, is not included from here.
1495  如果此条件成立可能性小(为编译器优化)(!inode_unhashed(old))则
1496  放置一个索引节点
1497  返回:负EBUSY
1499  放置一个索引节点