Lines Matching refs:mnt
486 mntget(path->mnt); in path_get()
500 mntput(path->mnt); in path_put()
535 p->path.mnt = NULL; in set_nameidata()
572 static bool path_connected(struct vfsmount *mnt, struct dentry *dentry) in path_connected() argument
574 struct super_block *sb = mnt->mnt_sb; in path_connected()
577 if (mnt->mnt_root == sb->s_root) in path_connected()
580 return is_subdir(dentry, mnt->mnt_root); in path_connected()
610 nd->path.mnt = NULL; in terminate_walk()
617 int res = __legitimize_mnt(path->mnt, mseq); in __legitimize_path()
620 path->mnt = NULL; in __legitimize_path()
663 if (!nd->root.mnt && (nd->flags & LOOKUP_IS_SCOPED)) in legitimize_root()
666 if (!nd->root.mnt || (nd->flags & LOOKUP_ROOT)) in legitimize_root()
712 nd->path.mnt = NULL; in try_to_unlazy()
739 if (unlikely(!legitimize_mnt(nd->path.mnt, nd->m_seq))) in try_to_unlazy_next()
765 nd->path.mnt = NULL; in try_to_unlazy_next()
881 nd->root.mnt = NULL; in complete_walk()
963 if (nd->path.mnt != NULL && nd->path.mnt != nd->root.mnt) in nd_jump_root()
966 if (!nd->root.mnt) { in nd_jump_root()
1003 if (nd->path.mnt != path->mnt) in nd_jump_link()
1198 struct mount *mnt = real_mount(path->mnt); in follow_up() local
1203 parent = mnt->mnt_parent; in follow_up()
1204 if (parent == mnt) { in follow_up()
1208 mntget(&parent->mnt); in follow_up()
1209 mountpoint = dget(mnt->mnt_mountpoint); in follow_up()
1213 mntput(path->mnt); in follow_up()
1214 path->mnt = &parent->mnt; in follow_up()
1227 root->mnt == &m->mnt)) in choose_mountpoint_rcu()
1229 if (mountpoint != m->mnt.mnt_root) { in choose_mountpoint_rcu()
1230 path->mnt = &m->mnt; in choose_mountpoint_rcu()
1304 struct vfsmount *mnt = path->mnt; in __traverse_mounts() local
1323 mntput(path->mnt); in __traverse_mounts()
1324 path->mnt = mounted; in __traverse_mounts()
1346 if (need_mntput && path->mnt == mnt) in __traverse_mounts()
1347 mntput(path->mnt); in __traverse_mounts()
1376 mntput(path->mnt); in follow_down_one()
1377 path->mnt = mounted; in follow_down_one()
1392 struct vfsmount *mnt = path->mnt; in follow_down() local
1396 if (path->mnt != mnt) in follow_down()
1397 mntput(mnt); in follow_down()
1431 struct mount *mounted = __lookup_mnt(path->mnt, dentry); in __follow_mount_rcu()
1433 path->mnt = &mounted->mnt; in __follow_mount_rcu()
1434 dentry = path->dentry = mounted->mnt.mnt_root; in __follow_mount_rcu()
1463 path->mnt = nd->path.mnt; in handle_mounts()
1474 path->mnt = nd->path.mnt; in handle_mounts()
1486 if (path->mnt != nd->path.mnt) in handle_mounts()
1487 mntput(path->mnt); in handle_mounts()
1724 unlikely(link->mnt->mnt_flags & MNT_NOSYMFOLLOW)) in pick_link()
1792 if (nd->path.mnt != path.mnt) in step_into()
1793 mntput(nd->path.mnt); in step_into()
1805 if (path.mnt == nd->path.mnt) in step_into()
1806 mntget(path.mnt); in step_into()
1819 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot_rcu()
1822 if (!choose_mountpoint_rcu(real_mount(nd->path.mnt), in follow_dotdot_rcu()
1840 if (unlikely(!path_connected(nd->path.mnt, parent))) in follow_dotdot_rcu()
1859 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot()
1862 if (!choose_mountpoint(real_mount(nd->path.mnt), in follow_dotdot()
1873 if (unlikely(!path_connected(nd->path.mnt, parent))) { in follow_dotdot()
1896 if (!nd->root.mnt) { in handle_dots()
2333 nd->root.mnt = NULL; in path_init()
2441 nd->path.mnt = NULL; in path_lookupat()
2484 nd->path.mnt = NULL; in path_parentat()
2560 int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, in vfs_path_lookup() argument
2564 struct path root = {.mnt = mnt, .dentry = dentry}; in vfs_path_lookup()
2720 if (unlikely(!path_connected(path->mnt, parent))) { in path_pts()
2980 return !(path->mnt->mnt_flags & MNT_NODEV) && in may_open_dev()
2981 !(path->mnt->mnt_sb->s_iflags & SB_I_NODEV); in may_open_dev()
3113 file->f_path.mnt = nd->path.mnt; in atomic_open()
3306 got_write = !mnt_want_write(nd->path.mnt); in open_last_lookups()
3326 mnt_drop_write(nd->path.mnt); in open_last_lookups()
3384 error = mnt_want_write(nd->path.mnt); in do_open()
3401 mnt_drop_write(nd->path.mnt); in do_open()
3454 error = mnt_want_write(path.mnt); in do_tmpfile()
3468 file->f_path.mnt = path.mnt; in do_tmpfile()
3471 mnt_drop_write(path.mnt); in do_tmpfile()
3545 struct file *do_file_open_root(struct dentry *dentry, struct vfsmount *mnt, in do_file_open_root() argument
3553 nd.root.mnt = mnt; in do_file_open_root()
3602 err2 = mnt_want_write(path->mnt); in filename_create()
3638 mnt_drop_write(path->mnt); in filename_create()
3657 mnt_drop_write(path->mnt); in done_path_create()
3896 error = mnt_want_write(path.mnt); in do_rmdir()
3917 mnt_drop_write(path.mnt); in do_rmdir()
4018 error = mnt_want_write(path.mnt); in do_unlinkat()
4049 mnt_drop_write(path.mnt); in do_unlinkat()
4273 if (old_path.mnt != new_path.mnt) in do_linkat()
4552 if (old_path.mnt != new_path.mnt) in do_renameat2()
4564 error = mnt_want_write(old_path.mnt); in do_renameat2()
4633 mnt_drop_write(old_path.mnt); in do_renameat2()