Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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

Name:mount_lock must be held* namespace_sem must be held for write

Proto:static void umount_tree(struct mount *mnt, enum umount_tree_flags how)

Type:void

Parameter:

TypeParameterName
struct mount *mnt
enum umount_tree_flagshow
1429  LIST_HEAD(tmp_list)
1432  If how & UMOUNT_PROPAGATE Then Clear MNT_LOCKED when it can be shown to be safe.* mount_lock lock must be held for write
1436  When p cycle
1437  mnt_flags |= MNT_UMOUNT
1438  list_move - delete from one list and add as another's head*@list: the entry to move*@head: the head that will precede our entry
1443  list_del_init - deletes entry from list and reinitialize it.*@entry: the element to delete from the list.
1447  If how & UMOUNT_PROPAGATE Then llect all mounts that receive propagation from the mount in @list,* and return these additional mounts in the same list.*@list: the list of mounts to be unmounted.* vfsmount lock must be held for write
1450  When Not list_empty - tests whether a list is empty*@head: the list to test. cycle
1453  p = list_first_entry - get the first element from a list*@ptr: the list head to take the element from.*@type: the type of the struct this is embedded in.*@member: the name of the list_head within the struct.* Note, that list is expected to be not empty.( & tmp_list, structmount, mnt_list)
1454  list_del_init - deletes entry from list and reinitialize it.*@entry: the element to delete from the list.
1455  list_del_init - deletes entry from list and reinitialize it.*@entry: the element to delete from the list.
1456  ns = containing namespace
1457  If ns Then
1461  containing namespace = NULL
1462  If how & UMOUNT_SYNC Then mnt_flags |= MNT_SYNC_UMOUNT
1465  disconnect = disconnect_mount(p, how)
1466  If mnt_has_parent(p) Then
1468  If Not disconnect Then
1471  Else
1475  vfsmount lock must be held for write
1476  If disconnect Then hlist_add_head( & mnt_umount, & unmounted)
Caller
NameDescribe
do_umount
__detach_mounts__detach_mounts - lazily unmount all mounts on the specified dentry* During unlink, rmdir, and d_drop it is possible to loose the path* to an existing mountpoint, and wind up leaking the mount
copy_tree
dissolve_on_fput
drop_collected_mounts
attach_recursive_mnt@source_mnt : mount tree to be attached*@nd : place the mount tree @source_mnt is attached*@parent_nd : if non-null, detach the source_mnt from its parent and* store the parent mount and mountpoint dentry
do_loopbackdo loopback mount.
mark_mounts_for_expiryprocess a list of expirable mountpoints with the intent of discarding any* mountpoints that aren't in use and haven't been touched since last we came* here
shrink_submounts