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 |