Lines Matching refs:mp
721 struct mountpoint *mp; in lookup_mountpoint() local
723 hlist_for_each_entry(mp, chain, m_hash) { in lookup_mountpoint()
724 if (mp->m_dentry == dentry) { in lookup_mountpoint()
728 mp->m_count++; in lookup_mountpoint()
729 return mp; in lookup_mountpoint()
738 struct mountpoint *mp; in new_mountpoint() local
741 mp = kmalloc(sizeof(struct mountpoint), GFP_KERNEL); in new_mountpoint()
742 if (!mp) in new_mountpoint()
747 kfree(mp); in new_mountpoint()
751 mp->m_dentry = dentry; in new_mountpoint()
752 mp->m_count = 1; in new_mountpoint()
753 hlist_add_head(&mp->m_hash, chain); in new_mountpoint()
754 INIT_HLIST_HEAD(&mp->m_list); in new_mountpoint()
755 return mp; in new_mountpoint()
758 static void put_mountpoint(struct mountpoint *mp) in put_mountpoint() argument
760 if (!--mp->m_count) { in put_mountpoint()
761 struct dentry *dentry = mp->m_dentry; in put_mountpoint()
762 BUG_ON(!hlist_empty(&mp->m_list)); in put_mountpoint()
766 hlist_del(&mp->m_hash); in put_mountpoint()
767 kfree(mp); in put_mountpoint()
836 struct mountpoint *mp, in mnt_set_mountpoint() argument
839 mp->m_count++; in mnt_set_mountpoint()
841 child_mnt->mnt_mountpoint = dget(mp->m_dentry); in mnt_set_mountpoint()
843 child_mnt->mnt_mp = mp; in mnt_set_mountpoint()
844 hlist_add_head(&child_mnt->mnt_mp_list, &mp->m_list); in mnt_set_mountpoint()
852 struct mountpoint *mp) in attach_mnt() argument
854 mnt_set_mountpoint(parent, mp, mnt); in attach_mnt()
855 hlist_add_head_rcu(&mnt->mnt_hash, m_hash(&parent->mnt, mp->m_dentry)); in attach_mnt()
1545 struct mountpoint *mp; in __detach_mounts() local
1549 mp = lookup_mountpoint(dentry); in __detach_mounts()
1550 if (IS_ERR_OR_NULL(mp)) in __detach_mounts()
1554 while (!hlist_empty(&mp->m_list)) { in __detach_mounts()
1555 mnt = hlist_entry(mp->m_list.first, struct mount, mnt_mp_list); in __detach_mounts()
1563 put_mountpoint(mp); in __detach_mounts()
1953 struct mountpoint *mp = lookup_mountpoint(dentry); in lock_mount() local
1954 if (!mp) in lock_mount()
1955 mp = new_mountpoint(dentry); in lock_mount()
1956 if (IS_ERR(mp)) { in lock_mount()
1959 return mp; in lock_mount()
1961 return mp; in lock_mount()
1979 static int graft_tree(struct mount *mnt, struct mount *p, struct mountpoint *mp) in graft_tree() argument
1984 if (d_is_dir(mp->m_dentry) != in graft_tree()
1988 return attach_recursive_mnt(mnt, p, mp, NULL); in graft_tree()
2064 struct mountpoint *mp; in do_loopback() local
2076 mp = lock_mount(path); in do_loopback()
2077 err = PTR_ERR(mp); in do_loopback()
2078 if (IS_ERR(mp)) in do_loopback()
2109 err = graft_tree(mnt, parent, mp); in do_loopback()
2116 unlock_mount(mp); in do_loopback()
2227 struct mountpoint *mp; in do_move_mount() local
2235 mp = lock_mount(path); in do_move_mount()
2236 err = PTR_ERR(mp); in do_move_mount()
2237 if (IS_ERR(mp)) in do_move_mount()
2276 err = attach_recursive_mnt(old, real_mount(path->mnt), mp, &parent_path); in do_move_mount()
2284 unlock_mount(mp); in do_move_mount()
2320 struct mountpoint *mp; in do_add_mount() local
2326 mp = lock_mount(path); in do_add_mount()
2327 if (IS_ERR(mp)) in do_add_mount()
2328 return PTR_ERR(mp); in do_add_mount()
2352 err = graft_tree(newmnt, parent, mp); in do_add_mount()
2355 unlock_mount(mp); in do_add_mount()