Lines Matching refs:mnt

483 	mntget(path->mnt);  in path_get()
497 mntput(path->mnt); in path_put()
567 static bool path_connected(struct vfsmount *mnt, struct dentry *dentry) in path_connected() argument
569 struct super_block *sb = mnt->mnt_sb; in path_connected()
572 if (mnt->mnt_root == sb->s_root) in path_connected()
575 return is_subdir(dentry, mnt->mnt_root); in path_connected()
610 int res = __legitimize_mnt(path->mnt, mseq); in __legitimize_path()
613 path->mnt = NULL; in __legitimize_path()
651 if (!nd->root.mnt && (nd->flags & LOOKUP_IS_SCOPED)) in legitimize_root()
654 if (!nd->root.mnt || (nd->flags & LOOKUP_ROOT)) in legitimize_root()
700 nd->path.mnt = NULL; in unlazy_walk()
727 if (unlikely(!legitimize_mnt(nd->path.mnt, nd->m_seq))) in unlazy_child()
753 nd->path.mnt = NULL; in unlazy_child()
794 nd->root.mnt = NULL; in complete_walk()
869 if (nd->path.mnt != NULL && nd->path.mnt != nd->root.mnt) in nd_jump_root()
872 if (!nd->root.mnt) { in nd_jump_root()
909 if (nd->path.mnt != path->mnt) in nd_jump_link()
1104 struct mount *mnt = real_mount(path->mnt); in follow_up() local
1109 parent = mnt->mnt_parent; in follow_up()
1110 if (parent == mnt) { in follow_up()
1114 mntget(&parent->mnt); in follow_up()
1115 mountpoint = dget(mnt->mnt_mountpoint); in follow_up()
1119 mntput(path->mnt); in follow_up()
1120 path->mnt = &parent->mnt; in follow_up()
1133 root->mnt == &m->mnt)) in choose_mountpoint_rcu()
1135 if (mountpoint != m->mnt.mnt_root) { in choose_mountpoint_rcu()
1136 path->mnt = &m->mnt; in choose_mountpoint_rcu()
1210 struct vfsmount *mnt = path->mnt; in __traverse_mounts() local
1229 mntput(path->mnt); in __traverse_mounts()
1230 path->mnt = mounted; in __traverse_mounts()
1252 if (need_mntput && path->mnt == mnt) in __traverse_mounts()
1253 mntput(path->mnt); in __traverse_mounts()
1282 mntput(path->mnt); in follow_down_one()
1283 path->mnt = mounted; in follow_down_one()
1298 struct vfsmount *mnt = path->mnt; in follow_down() local
1302 if (path->mnt != mnt) in follow_down()
1303 mntput(mnt); in follow_down()
1337 struct mount *mounted = __lookup_mnt(path->mnt, dentry); in __follow_mount_rcu()
1339 path->mnt = &mounted->mnt; in __follow_mount_rcu()
1340 dentry = path->dentry = mounted->mnt.mnt_root; in __follow_mount_rcu()
1367 path->mnt = nd->path.mnt; in handle_mounts()
1378 path->mnt = nd->path.mnt; in handle_mounts()
1390 if (path->mnt != nd->path.mnt) in handle_mounts()
1391 mntput(path->mnt); in handle_mounts()
1630 unlikely(link->mnt->mnt_flags & MNT_NOSYMFOLLOW)) in pick_link()
1701 if (nd->path.mnt != path.mnt) in step_into()
1702 mntput(nd->path.mnt); in step_into()
1714 if (path.mnt == nd->path.mnt) in step_into()
1715 mntget(path.mnt); in step_into()
1728 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot_rcu()
1731 if (!choose_mountpoint_rcu(real_mount(nd->path.mnt), in follow_dotdot_rcu()
1749 if (unlikely(!path_connected(nd->path.mnt, parent))) in follow_dotdot_rcu()
1768 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot()
1771 if (!choose_mountpoint(real_mount(nd->path.mnt), in follow_dotdot()
1782 if (unlikely(!path_connected(nd->path.mnt, parent))) { in follow_dotdot()
1805 if (!nd->root.mnt) { in handle_dots()
2238 nd->root.mnt = NULL; in path_init()
2239 nd->path.mnt = NULL; in path_init()
2348 nd->path.mnt = NULL; in path_lookupat()
2391 nd->path.mnt = NULL; in path_parentat()
2467 int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, in vfs_path_lookup() argument
2471 struct path root = {.mnt = mnt, .dentry = dentry}; in vfs_path_lookup()
2627 if (unlikely(!path_connected(path->mnt, parent))) { in path_pts()
2836 return !(path->mnt->mnt_flags & MNT_NODEV) && in may_open_dev()
2837 !(path->mnt->mnt_sb->s_iflags & SB_I_NODEV); in may_open_dev()
2969 file->f_path.mnt = nd->path.mnt; in atomic_open()
3165 error = mnt_want_write(nd->path.mnt); in open_last_lookups()
3187 mnt_drop_write(nd->path.mnt); in open_last_lookups()
3245 error = mnt_want_write(nd->path.mnt); in do_open()
3262 mnt_drop_write(nd->path.mnt); in do_open()
3314 error = mnt_want_write(path.mnt); in do_tmpfile()
3328 file->f_path.mnt = path.mnt; in do_tmpfile()
3331 mnt_drop_write(path.mnt); in do_tmpfile()
3405 struct file *do_file_open_root(struct dentry *dentry, struct vfsmount *mnt, in do_file_open_root() argument
3413 nd.root.mnt = mnt; in do_file_open_root()
3462 err2 = mnt_want_write(path->mnt); in filename_create()
3498 mnt_drop_write(path->mnt); in filename_create()
3517 mnt_drop_write(path->mnt); in done_path_create()
3758 error = mnt_want_write(path.mnt); in do_rmdir()
3779 mnt_drop_write(path.mnt); in do_rmdir()
3879 error = mnt_want_write(path.mnt); in do_unlinkat()
3910 mnt_drop_write(path.mnt); in do_unlinkat()
4134 if (old_path.mnt != new_path.mnt) in do_linkat()
4390 if (old_path.mnt != new_path.mnt) in do_renameat2()
4402 error = mnt_want_write(old_path.mnt); in do_renameat2()
4471 mnt_drop_write(old_path.mnt); in do_renameat2()