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 |