| Function report | 
| Source Code: fs\namespace.c | Create Date:2022-07-28 20:09:15 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:@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
Proto:static int attach_recursive_mnt(struct mount *source_mnt, struct mount *dest_mnt, struct mountpoint *dest_mp, bool moving)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct mount * | source_mnt | |
| struct mount * | dest_mnt | |
| struct mountpoint * | dest_mp | |
| bool | moving | 
| 2047 | ns = containing namespace | 
| 2056 | smp = get_mountpoint( root of the mounted tree ) | 
| 2061 | If Not moving Then | 
| 2062 | err = count_mounts(ns, source_mnt) | 
| 2067 | If IS_MNT_SHARED(dest_mnt) Then | 
| 2068 | err = invent_group_ids(source_mnt, true) | 
| 2071 | err = propagate_mnt(dest_mnt, dest_mp, source_mnt, & tree_list) | 
| 2072 | lock_mount_hash() | 
| 2073 | If err Then Go to out_cleanup_ids | 
| 2075 | When p cycle set_mnt_shared(p) | 
| 2077 | Else | 
| 2078 | lock_mount_hash() | 
| 2080 | If moving Then | 
| 2084 | Else | 
| 2085 | If containing namespace Then | 
| 2095 | hlist_del_init( & mnt_hash) | 
| 2098 | If q Then mnt_change_mountpoint(child, smp, q) | 
| 2101 | If user_ns != user_ns Then lock_mnt_tree(child) | 
| 2103 | mnt_flags &= ~MNT_LOCKED | 
| 2107 | unlock_mount_hash() | 
| 2109 | Return 0 | 
| 2111 | out_cleanup_ids : | 
| 2112 | When Not hlist_empty( & tree_list) cycle | 
| 2113 | child = hlist_entry(first, structmount, mnt_hash) | 
| 2114 | pending_mounts = 0 | 
| 2117 | unlock_mount_hash() | 
| 2118 | cleanup_group_ids(source_mnt, NULL) | 
| 2119 | out : | 
| 2120 | pending_mounts = 0 | 
| 2126 | Return err | 
| Name | Describe | 
|---|---|
| graft_tree | |
| do_move_mount | 
| Source code conversion tool public plug-in interface | X | 
|---|---|
| Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |