| Function report | 
| Source Code: fs\namespace.c | Create Date:2022-07-28 20:09:18 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:do_move_mount
Proto:static int do_move_mount(struct path *old_path, struct path *new_path)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct path * | old_path | |
| struct path * | new_path | 
| 2608 | mp = lock_mount(new_path) | 
| 2612 | old = real_mount(mnt) | 
| 2613 | p = real_mount(mnt) | 
| 2614 | parent = mnt_parent | 
| 2615 | attached = mnt_has_parent(old) | 
| 2616 | old_mp = where is it mounted | 
| 2617 | ns = containing namespace | 
| 2625 | If Not is_mounted( & mnt) Then Go to out | 
| 2632 | If mnt_flags & MNT_LOCKED Then Go to out | 
| 2644 | If attached && IS_MNT_SHARED(parent) Then Go to out | 
| 2650 | If IS_MNT_SHARED(p) && tree_contains_unbindable(old) Then Go to out | 
| 2655 | When mnt_has_parent(p) cycle If p == old Then | 
| 2657 | Go to out | 
| 2667 | If attached Then alled with namespace_lock and vfsmount lock | 
| 2669 | out : | 
| 2670 | unlock_mount(mp) | 
| 2671 | If Not err Then | 
| 2672 | If attached Then mntput_no_expire(parent) | 
| 2674 | Else free_mnt_ns(ns) | 
| 2677 | Return err | 
| Name | Describe | 
|---|---|
| do_move_mount_old | |
| SYSCALL_DEFINE5 | Move a mount from one place to another. In combination with* fsopen()/fsmount() this is used to install a new mount and in combination* with open_tree(OPEN_TREE_CLONE [| AT_RECURSIVE]) it can be used to copy* a mount subtree. | 
| 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 |