Function report |
Source Code:fs\namespace.c |
Create Date:2022-07-28 20:09:12 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:clone_mnt
Proto:static struct mount *clone_mnt(struct mount *old, struct dentry *root, int flag)
Type:struct mount
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct mount * | old | |
| struct dentry * | root | |
| int | flag |
| 1019 | sb = pointer to superblock |
| 1023 | mnt = alloc_vfsmnt( Name of device e.g. /dev/dsk/hda1 ) |
| 1027 | If flag & ( CL_SLAVE | CL_PRIVATE | CL_SHARED_TO_SLAVE) Then peer group identifier = 0 |
| 1029 | Else peer group identifier = peer group identifier |
| 1032 | If flag & CL_MAKE_SHARED && Not peer group identifier Then |
| 1033 | err = Allocate a new peer group ID |
| 1039 | mnt_flags &= ~( MNT_WRITE_HOLD | MNT_MARKED | MNT_INTERNAL) |
| 1041 | atomic_inc( & s_active) |
| 1042 | pointer to superblock = sb |
| 1045 | mnt_parent = mnt |
| 1046 | lock_mount_hash() |
| 1048 | unlock_mount_hash() |
| 1050 | If flag & CL_SLAVE || flag & CL_SHARED_TO_SLAVE && IS_MNT_SHARED(old) Then |
| 1054 | CLEAR_MNT_SHARED(mnt) |
| 1055 | Else if Not (flag & CL_PRIVATE) Then |
| 1061 | Else |
| 1062 | CLEAR_MNT_SHARED(mnt) |
| 1064 | If flag & CL_MAKE_SHARED Then set_mnt_shared(mnt) |
| 1074 | Return mnt |
| 1076 | out_free : |
| 1077 | mnt_free_id(mnt) |
| 1078 | free_vfsmnt(mnt) |
| Name | Describe |
|---|---|
| mnt_clone_internal | |
| copy_tree | |
| clone_private_mount | lone_private_mount - create a private clone of a path* This creates a new vfsmount, which will be the clone of @path. The new will* not be attached anywhere in the namespace and will be private (i.e. changes |
| __do_loopback |
| 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 |