函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:__ns_get_path

函数原型:static void *__ns_get_path(struct path *path, struct ns_common *ns)

返回类型:void

参数:

类型参数名称
struct path *path
struct ns_common *ns
60  mnt等于nsfs_mnt
65  _read_lock() - mark the beginning of an RCU read-side critical section* When synchronize_rcu() is invoked on one CPU while other CPUs* are within RCU read-side critical sections, then the* synchronize_rcu() is guaranteed to block until after all the other
66  d等于atomic_long_read( & stashed)
67  如果非d则转到:slow
69  dentry等于d
70  如果非 有引用则递增计数则转到:slow
72  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
73  put(ns)
74  got_it :
75  mnt等于mntget(mnt)
76  dentry等于dentry
77  返回:NULL
78  slow :
79  _read_unlock() - marks the end of an RCU read-side critical section.* In most situations, rcu_read_unlock() is immune from deadlock.* However, in kernels built with CONFIG_RCU_BOOST, rcu_read_unlock()
80  inode等于w_inode_pseudo - obtain an inode*@sb: superblock* Allocates a new inode for given superblock.* Inode wont be chained in superblock s_inodes list* This means :* - fs can't be unmount* - quotas, fsnotify, writeback can't work
81  如果非inode
82  put(ns)
83  返回:错误号
85  Stat data, not accessed from path walking 等于inum
86  i_mtime等于i_atime等于i_ctime等于rrent_time - Return FS time*@inode: inode.* Return the current time truncated to the time granularity supported by* the fs.* Note that inode and inode->sb cannot be NULL.* Otherwise, the function warns and returns time without truncation.
87  i_flags或等于Immutable file
88  i_mode等于S_IFREG按位或S_IRUGO
89  rmer ->i_op->default_file_ops 等于ns_file_operations
90  s or device private pointer 等于ns
92  dentry等于d_alloc_anon( pointer to superblock )
93  如果非dentry
94  放置一个索引节点
95  返回:错误号
97  为目录项建立索引
98  fs-specific data 等于ops
99  d等于atomic_long_cmpxchg( & stashed, 0, (unsignedlong)dentry)
100  如果d
101  删除目录项
102  dput - release a dentry*@dentry: dentry to release * Release a dentry. This will drop the usage count and if appropriate* call the dentry unlink method as well as removing it from the queues and* releasing its resources
103  cpu_relax()
104  返回:错误号
106  转到:got_it
调用者
名称描述
ns_get_path_cb
open_related_ns