Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\namespace.c Create Date:2022-07-28 20:09:13
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:mntput_no_expire

Proto:static void mntput_no_expire(struct mount *mnt)

Type:void

Parameter:

TypeParameterName
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  If Value is more likely to compile time(READ_ONCE( containing namespace )) Then
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  Return
1142  lock_mount_hash()
1147  smp_mb()
1148  vfsmount lock must be held for read
1149  If vfsmount lock must be held for write Then
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  Return
1154  If Value for the false possibility is greater at compile time(mnt_flags & MNT_DOOMED) Then
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  Return
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  deletes entry from list
1164  If Value for the false possibility is greater at compile time(!list_empty - tests whether a list is empty*@head: the list to test.) Then
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  If Value is more likely to compile time(!(mnt_flags & MNT_INTERNAL)) Then
1175  task = current process
1181  If llist_add - add a new entry*@new: new entry to be added*@head: the head for your lock-less list* Returns true if the list was empty prior to adding this entry. Then schedule_delayed_work - put work task in global workqueue after delay*@dwork: job to be done*@delay: number of jiffies to wait or 0 for immediate execution* After waiting for a given time this puts a job in the kernel-global* workqueue.
1183  Return
1185  cleanup_mnt(mnt)
Caller
NameDescribe
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