Lines Matching refs:mnt

545 	mntget(path->mnt);  in path_get()
559 mntput(path->mnt); in path_put()
599 p->path.mnt = NULL; in __set_nameidata()
647 static bool path_connected(struct vfsmount *mnt, struct dentry *dentry) in path_connected() argument
649 struct super_block *sb = mnt->mnt_sb; in path_connected()
652 if (mnt->mnt_root == sb->s_root) in path_connected()
655 return is_subdir(dentry, mnt->mnt_root); in path_connected()
691 nd->path.mnt = NULL; in terminate_walk()
698 int res = __legitimize_mnt(path->mnt, mseq); in __legitimize_path()
701 path->mnt = NULL; in __legitimize_path()
740 if (!nd->root.mnt || (nd->state & ND_ROOT_PRESET)) in legitimize_root()
785 nd->path.mnt = NULL; in try_to_unlazy()
811 res = __legitimize_mnt(nd->path.mnt, nd->m_seq); in try_to_unlazy_next()
841 nd->path.mnt = NULL; in try_to_unlazy_next()
883 nd->root.mnt = NULL; in complete_walk()
959 if (nd->path.mnt != NULL && nd->path.mnt != nd->root.mnt) in nd_jump_root()
962 if (!nd->root.mnt) { in nd_jump_root()
999 if (nd->path.mnt != path->mnt) in nd_jump_link()
1103 mnt_userns = mnt_user_ns(nd->path.mnt); in may_follow_link()
1269 struct mount *mnt = real_mount(path->mnt); in follow_up() local
1274 parent = mnt->mnt_parent; in follow_up()
1275 if (parent == mnt) { in follow_up()
1279 mntget(&parent->mnt); in follow_up()
1280 mountpoint = dget(mnt->mnt_mountpoint); in follow_up()
1284 mntput(path->mnt); in follow_up()
1285 path->mnt = &parent->mnt; in follow_up()
1298 root->mnt == &m->mnt)) in choose_mountpoint_rcu()
1300 if (mountpoint != m->mnt.mnt_root) { in choose_mountpoint_rcu()
1301 path->mnt = &m->mnt; in choose_mountpoint_rcu()
1375 struct vfsmount *mnt = path->mnt; in __traverse_mounts() local
1394 mntput(path->mnt); in __traverse_mounts()
1395 path->mnt = mounted; in __traverse_mounts()
1417 if (need_mntput && path->mnt == mnt) in __traverse_mounts()
1418 mntput(path->mnt); in __traverse_mounts()
1447 mntput(path->mnt); in follow_down_one()
1448 path->mnt = mounted; in follow_down_one()
1463 struct vfsmount *mnt = path->mnt; in follow_down() local
1467 if (path->mnt != mnt) in follow_down()
1468 mntput(mnt); in follow_down()
1501 struct mount *mounted = __lookup_mnt(path->mnt, dentry); in __follow_mount_rcu()
1503 path->mnt = &mounted->mnt; in __follow_mount_rcu()
1504 dentry = path->dentry = mounted->mnt.mnt_root; in __follow_mount_rcu()
1527 path->mnt = nd->path.mnt; in handle_mounts()
1534 path->mnt = nd->path.mnt; in handle_mounts()
1549 if (path->mnt != nd->path.mnt) in handle_mounts()
1550 mntput(path->mnt); in handle_mounts()
1770 unlikely(link->mnt->mnt_flags & MNT_NOSYMFOLLOW)) in pick_link()
1847 if (nd->path.mnt != path.mnt) in step_into()
1848 mntput(nd->path.mnt); in step_into()
1860 if (path.mnt == nd->path.mnt) in step_into()
1861 mntget(path.mnt); in step_into()
1872 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot_rcu()
1875 if (!choose_mountpoint_rcu(real_mount(nd->path.mnt), in follow_dotdot_rcu()
1894 if (unlikely(!path_connected(nd->path.mnt, parent))) in follow_dotdot_rcu()
1912 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot()
1915 if (!choose_mountpoint(real_mount(nd->path.mnt), in follow_dotdot()
1926 if (unlikely(!path_connected(nd->path.mnt, parent))) { in follow_dotdot()
1944 if (!nd->root.mnt) { in handle_dots()
2261 mnt_userns = mnt_user_ns(nd->path.mnt); in link_path_walk()
2380 nd->root.mnt = NULL; in path_init()
2488 nd->path.mnt = NULL; in path_lookupat()
2526 nd->path.mnt = NULL; in path_parentat()
2609 int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, in vfs_path_lookup() argument
2614 struct path root = {.mnt = mnt, .dentry = dentry}; in vfs_path_lookup()
2855 if (unlikely(!path_connected(path->mnt, parent))) { in path_pts()
3145 return !(path->mnt->mnt_flags & MNT_NODEV) && in may_open_dev()
3146 !(path->mnt->mnt_sb->s_iflags & SB_I_NODEV); in may_open_dev()
3275 file->f_path.mnt = nd->path.mnt; in atomic_open()
3370 mnt_userns = mnt_user_ns(nd->path.mnt); in lookup_open()
3470 got_write = !mnt_want_write(nd->path.mnt); in open_last_lookups()
3490 mnt_drop_write(nd->path.mnt); in open_last_lookups()
3529 mnt_userns = mnt_user_ns(nd->path.mnt); in do_open()
3550 error = mnt_want_write(nd->path.mnt); in do_open()
3567 mnt_drop_write(nd->path.mnt); in do_open()
3605 file->f_path.mnt = parentpath->mnt; in vfs_tmpfile()
3667 error = mnt_want_write(path.mnt); in do_tmpfile()
3670 mnt_userns = mnt_user_ns(path.mnt); in do_tmpfile()
3676 mnt_drop_write(path.mnt); in do_tmpfile()
3800 err2 = mnt_want_write(path->mnt); in filename_create()
3837 mnt_drop_write(path->mnt); in filename_create()
3858 mnt_drop_write(path->mnt); in done_path_create()
3962 mnt_userns = mnt_user_ns(path.mnt); in do_mknodat()
4060 mnt_userns = mnt_user_ns(path.mnt); in do_mkdirat()
4165 error = mnt_want_write(path.mnt); in do_rmdir()
4181 mnt_userns = mnt_user_ns(path.mnt); in do_rmdir()
4187 mnt_drop_write(path.mnt); in do_rmdir()
4299 error = mnt_want_write(path.mnt); in do_unlinkat()
4319 mnt_userns = mnt_user_ns(path.mnt); in do_unlinkat()
4334 mnt_drop_write(path.mnt); in do_unlinkat()
4429 mnt_userns = mnt_user_ns(path.mnt); in do_symlinkat()
4591 if (old_path.mnt != new_path.mnt) in do_linkat()
4593 mnt_userns = mnt_user_ns(new_path.mnt); in do_linkat()
4854 if (old_path.mnt != new_path.mnt) in do_renameat2()
4866 error = mnt_want_write(old_path.mnt); in do_renameat2()
4924 rd.old_mnt_userns = mnt_user_ns(old_path.mnt); in do_renameat2()
4927 rd.new_mnt_userns = mnt_user_ns(new_path.mnt); in do_renameat2()
4942 mnt_drop_write(old_path.mnt); in do_renameat2()