Lines Matching refs:mp

732 	struct mountpoint *mp;  in lookup_mountpoint()  local
734 hlist_for_each_entry(mp, chain, m_hash) { in lookup_mountpoint()
735 if (mp->m_dentry == dentry) { in lookup_mountpoint()
739 mp->m_count++; in lookup_mountpoint()
740 return mp; in lookup_mountpoint()
749 struct mountpoint *mp; in new_mountpoint() local
752 mp = kmalloc(sizeof(struct mountpoint), GFP_KERNEL); in new_mountpoint()
753 if (!mp) in new_mountpoint()
758 kfree(mp); in new_mountpoint()
762 mp->m_dentry = dentry; in new_mountpoint()
763 mp->m_count = 1; in new_mountpoint()
764 hlist_add_head(&mp->m_hash, chain); in new_mountpoint()
765 INIT_HLIST_HEAD(&mp->m_list); in new_mountpoint()
766 return mp; in new_mountpoint()
769 static void put_mountpoint(struct mountpoint *mp) in put_mountpoint() argument
771 if (!--mp->m_count) { in put_mountpoint()
772 struct dentry *dentry = mp->m_dentry; in put_mountpoint()
773 BUG_ON(!hlist_empty(&mp->m_list)); in put_mountpoint()
777 hlist_del(&mp->m_hash); in put_mountpoint()
778 kfree(mp); in put_mountpoint()
847 struct mountpoint *mp, in mnt_set_mountpoint() argument
850 mp->m_count++; in mnt_set_mountpoint()
852 child_mnt->mnt_mountpoint = dget(mp->m_dentry); in mnt_set_mountpoint()
854 child_mnt->mnt_mp = mp; in mnt_set_mountpoint()
855 hlist_add_head(&child_mnt->mnt_mp_list, &mp->m_list); in mnt_set_mountpoint()
863 struct mountpoint *mp) in attach_mnt() argument
865 mnt_set_mountpoint(parent, mp, mnt); in attach_mnt()
866 hlist_add_head_rcu(&mnt->mnt_hash, m_hash(&parent->mnt, mp->m_dentry)); in attach_mnt()
1556 struct mountpoint *mp; in __detach_mounts() local
1560 mp = lookup_mountpoint(dentry); in __detach_mounts()
1561 if (IS_ERR_OR_NULL(mp)) in __detach_mounts()
1565 while (!hlist_empty(&mp->m_list)) { in __detach_mounts()
1566 mnt = hlist_entry(mp->m_list.first, struct mount, mnt_mp_list); in __detach_mounts()
1574 put_mountpoint(mp); in __detach_mounts()
1964 struct mountpoint *mp = lookup_mountpoint(dentry); in lock_mount() local
1965 if (!mp) in lock_mount()
1966 mp = new_mountpoint(dentry); in lock_mount()
1967 if (IS_ERR(mp)) { in lock_mount()
1970 return mp; in lock_mount()
1972 return mp; in lock_mount()
1990 static int graft_tree(struct mount *mnt, struct mount *p, struct mountpoint *mp) in graft_tree() argument
1995 if (d_is_dir(mp->m_dentry) != in graft_tree()
1999 return attach_recursive_mnt(mnt, p, mp, NULL); in graft_tree()
2075 struct mountpoint *mp; in do_loopback() local
2087 mp = lock_mount(path); in do_loopback()
2088 err = PTR_ERR(mp); in do_loopback()
2089 if (IS_ERR(mp)) in do_loopback()
2120 err = graft_tree(mnt, parent, mp); in do_loopback()
2127 unlock_mount(mp); in do_loopback()
2238 struct mountpoint *mp; in do_move_mount() local
2246 mp = lock_mount(path); in do_move_mount()
2247 err = PTR_ERR(mp); in do_move_mount()
2248 if (IS_ERR(mp)) in do_move_mount()
2287 err = attach_recursive_mnt(old, real_mount(path->mnt), mp, &parent_path); in do_move_mount()
2295 unlock_mount(mp); in do_move_mount()
2331 struct mountpoint *mp; in do_add_mount() local
2337 mp = lock_mount(path); in do_add_mount()
2338 if (IS_ERR(mp)) in do_add_mount()
2339 return PTR_ERR(mp); in do_add_mount()
2363 err = graft_tree(newmnt, parent, mp); in do_add_mount()
2366 unlock_mount(mp); in do_add_mount()