Lines Matching refs:mnt

544 	mntget(path->mnt);  in path_get()
558 mntput(path->mnt); in path_put()
598 p->path.mnt = NULL; in __set_nameidata()
646 static bool path_connected(struct vfsmount *mnt, struct dentry *dentry) in path_connected() argument
648 struct super_block *sb = mnt->mnt_sb; in path_connected()
651 if (mnt->mnt_root == sb->s_root) in path_connected()
654 return is_subdir(dentry, mnt->mnt_root); in path_connected()
684 nd->path.mnt = NULL; in terminate_walk()
691 int res = __legitimize_mnt(path->mnt, mseq); in __legitimize_path()
694 path->mnt = NULL; in __legitimize_path()
737 if (!nd->root.mnt && (nd->flags & LOOKUP_IS_SCOPED)) in legitimize_root()
740 if (!nd->root.mnt || (nd->state & ND_ROOT_PRESET)) in legitimize_root()
786 nd->path.mnt = NULL; in try_to_unlazy()
813 if (unlikely(!legitimize_mnt(nd->path.mnt, nd->m_seq))) in try_to_unlazy_next()
839 nd->path.mnt = NULL; in try_to_unlazy_next()
881 nd->root.mnt = NULL; in complete_walk()
957 if (nd->path.mnt != NULL && nd->path.mnt != nd->root.mnt) in nd_jump_root()
960 if (!nd->root.mnt) { in nd_jump_root()
997 if (nd->path.mnt != path->mnt) in nd_jump_link()
1051 mnt_userns = mnt_user_ns(nd->path.mnt); in may_follow_link()
1217 struct mount *mnt = real_mount(path->mnt); in follow_up() local
1222 parent = mnt->mnt_parent; in follow_up()
1223 if (parent == mnt) { in follow_up()
1227 mntget(&parent->mnt); in follow_up()
1228 mountpoint = dget(mnt->mnt_mountpoint); in follow_up()
1232 mntput(path->mnt); in follow_up()
1233 path->mnt = &parent->mnt; in follow_up()
1246 root->mnt == &m->mnt)) in choose_mountpoint_rcu()
1248 if (mountpoint != m->mnt.mnt_root) { in choose_mountpoint_rcu()
1249 path->mnt = &m->mnt; in choose_mountpoint_rcu()
1323 struct vfsmount *mnt = path->mnt; in __traverse_mounts() local
1342 mntput(path->mnt); in __traverse_mounts()
1343 path->mnt = mounted; in __traverse_mounts()
1365 if (need_mntput && path->mnt == mnt) in __traverse_mounts()
1366 mntput(path->mnt); in __traverse_mounts()
1395 mntput(path->mnt); in follow_down_one()
1396 path->mnt = mounted; in follow_down_one()
1411 struct vfsmount *mnt = path->mnt; in follow_down() local
1415 if (path->mnt != mnt) in follow_down()
1416 mntput(mnt); in follow_down()
1450 struct mount *mounted = __lookup_mnt(path->mnt, dentry); in __follow_mount_rcu()
1452 path->mnt = &mounted->mnt; in __follow_mount_rcu()
1453 dentry = path->dentry = mounted->mnt.mnt_root; in __follow_mount_rcu()
1480 path->mnt = nd->path.mnt; in handle_mounts()
1491 path->mnt = nd->path.mnt; in handle_mounts()
1503 if (path->mnt != nd->path.mnt) in handle_mounts()
1504 mntput(path->mnt); in handle_mounts()
1742 unlikely(link->mnt->mnt_flags & MNT_NOSYMFOLLOW)) in pick_link()
1810 if (nd->path.mnt != path.mnt) in step_into()
1811 mntput(nd->path.mnt); in step_into()
1823 if (path.mnt == nd->path.mnt) in step_into()
1824 mntget(path.mnt); in step_into()
1837 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot_rcu()
1840 if (!choose_mountpoint_rcu(real_mount(nd->path.mnt), in follow_dotdot_rcu()
1858 if (unlikely(!path_connected(nd->path.mnt, parent))) in follow_dotdot_rcu()
1877 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot()
1880 if (!choose_mountpoint(real_mount(nd->path.mnt), in follow_dotdot()
1891 if (unlikely(!path_connected(nd->path.mnt, parent))) { in follow_dotdot()
1914 if (!nd->root.mnt) { in handle_dots()
2238 mnt_userns = mnt_user_ns(nd->path.mnt); in link_path_walk()
2355 nd->root.mnt = NULL; in path_init()
2463 nd->path.mnt = NULL; in path_lookupat()
2501 nd->path.mnt = NULL; in path_parentat()
2584 int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, in vfs_path_lookup() argument
2589 struct path root = {.mnt = mnt, .dentry = dentry}; in vfs_path_lookup()
2780 if (unlikely(!path_connected(path->mnt, parent))) { in path_pts()
3011 return !(path->mnt->mnt_flags & MNT_NODEV) && in may_open_dev()
3012 !(path->mnt->mnt_sb->s_iflags & SB_I_NODEV); in may_open_dev()
3143 file->f_path.mnt = nd->path.mnt; in atomic_open()
3238 mnt_userns = mnt_user_ns(nd->path.mnt); in lookup_open()
3341 got_write = !mnt_want_write(nd->path.mnt); in open_last_lookups()
3361 mnt_drop_write(nd->path.mnt); in open_last_lookups()
3400 mnt_userns = mnt_user_ns(nd->path.mnt); in do_open()
3421 error = mnt_want_write(nd->path.mnt); in do_open()
3438 mnt_drop_write(nd->path.mnt); in do_open()
3507 error = mnt_want_write(path.mnt); in do_tmpfile()
3510 mnt_userns = mnt_user_ns(path.mnt); in do_tmpfile()
3523 mnt_drop_write(path.mnt); in do_tmpfile()
3651 err2 = mnt_want_write(path->mnt); in filename_create()
3686 mnt_drop_write(path->mnt); in filename_create()
3707 mnt_drop_write(path->mnt); in done_path_create()
3811 mnt_userns = mnt_user_ns(path.mnt); in do_mknodat()
3910 mnt_userns = mnt_user_ns(path.mnt); in do_mkdirat()
4015 error = mnt_want_write(path.mnt); in do_rmdir()
4031 mnt_userns = mnt_user_ns(path.mnt); in do_rmdir()
4037 mnt_drop_write(path.mnt); in do_rmdir()
4148 error = mnt_want_write(path.mnt); in do_unlinkat()
4168 mnt_userns = mnt_user_ns(path.mnt); in do_unlinkat()
4183 mnt_drop_write(path.mnt); in do_unlinkat()
4278 mnt_userns = mnt_user_ns(path.mnt); in do_symlinkat()
4440 if (old_path.mnt != new_path.mnt) in do_linkat()
4442 mnt_userns = mnt_user_ns(new_path.mnt); in do_linkat()
4703 if (old_path.mnt != new_path.mnt) in do_renameat2()
4715 error = mnt_want_write(old_path.mnt); in do_renameat2()
4773 rd.old_mnt_userns = mnt_user_ns(old_path.mnt); in do_renameat2()
4776 rd.new_mnt_userns = mnt_user_ns(new_path.mnt); in do_renameat2()
4791 mnt_drop_write(old_path.mnt); in do_renameat2()