函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

函数名称:mntput_no_expire

函数原型:static void mntput_no_expire(struct mount *mnt)

返回类型:void

参数:

类型参数名称
struct mount *mnt
1125  LIST_HEAD(list)
1127  _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
1128  如果此条件成立可能性大(为编译器优化)(READ_ONCE( containing namespace ))则
1138  vfsmount lock must be held for read
1139  _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()
1140  返回
1142  lock_mount_hash()
1147  smp_mb()
1148  vfsmount lock must be held for read
1149  如果vfsmount lock must be held for write
1150  _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()
1151  unlock_mount_hash()
1152  返回
1154  如果此条件成立可能性小(为编译器优化)(mnt_flags & MNT_DOOMED)则
1155  _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()
1156  unlock_mount_hash()
1157  返回
1159  mnt_flags或等于MNT_DOOMED
1160  _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()
1162  删除链表项
1164  如果此条件成立可能性小(为编译器优化)(!链表为空)则
1167  vfsmount lock must be held. Additionally, the caller is responsible* for serializing calls for given disposal list.
1168  hlist_add_head( & mnt_umount, & mnt_stuck_children)
1171  unlock_mount_hash()
1172  shrink_dentry_list( & list)
1174  如果此条件成立可能性大(为编译器优化)(!(mnt_flags & MNT_INTERNAL))则
1175  task等于当前进程
1181  如果添加列表项在延迟工作队列中放置任务
1183  返回
1185  cleanup_mnt(mnt)
调用者
名称描述
mntput
ksys_umountNow umount can handle mount points as well as block devices.* This is important for filesystems which use unnamed block devices.* We now support a flag for forced unmount like the other 'big iron'* unixes
do_move_mount
SYSCALL_DEFINE2pivot_root Semantics:* Moves the root file system of the current process to the directory put_old,* makes new_root as the new root file system of the current process, and sets* root/cwd of all processes which had them on the current root to new_root