Lines Matching refs:mnt
613 mntget(path->mnt); in path_get()
627 mntput(path->mnt); in path_put()
669 p->path.mnt = NULL; in __set_nameidata()
719 static bool path_connected(struct vfsmount *mnt, struct dentry *dentry) in path_connected() argument
721 struct super_block *sb = mnt->mnt_sb; in path_connected()
724 if (mnt->mnt_root == sb->s_root) in path_connected()
727 return is_subdir(dentry, mnt->mnt_root); in path_connected()
763 nd->path.mnt = NULL; in terminate_walk()
770 int res = __legitimize_mnt(path->mnt, mseq); in __legitimize_path()
773 path->mnt = NULL; in __legitimize_path()
812 if (!nd->root.mnt || (nd->state & ND_ROOT_PRESET)) in legitimize_root()
857 nd->path.mnt = NULL; in try_to_unlazy()
883 res = __legitimize_mnt(nd->path.mnt, nd->m_seq); in try_to_unlazy_next()
913 nd->path.mnt = NULL; in try_to_unlazy_next()
956 nd->root.mnt = NULL; in complete_walk()
1032 if (nd->path.mnt != NULL && nd->path.mnt != nd->root.mnt) in nd_jump_root()
1035 if (!nd->root.mnt) { in nd_jump_root()
1072 if (nd->path.mnt != path->mnt) in nd_jump_link()
1176 idmap = mnt_idmap(nd->path.mnt); in may_follow_link()
1361 struct mount *mnt = real_mount(path->mnt); in follow_up() local
1366 parent = mnt->mnt_parent; in follow_up()
1367 if (parent == mnt) { in follow_up()
1371 mntget(&parent->mnt); in follow_up()
1372 mountpoint = dget(mnt->mnt_mountpoint); in follow_up()
1376 mntput(path->mnt); in follow_up()
1377 path->mnt = &parent->mnt; in follow_up()
1390 root->mnt == &m->mnt)) in choose_mountpoint_rcu()
1392 if (mountpoint != m->mnt.mnt_root) { in choose_mountpoint_rcu()
1393 path->mnt = &m->mnt; in choose_mountpoint_rcu()
1471 struct vfsmount *mnt = path->mnt; in __traverse_mounts() local
1494 mntput(path->mnt); in __traverse_mounts()
1495 path->mnt = mounted; in __traverse_mounts()
1521 if (need_mntput && path->mnt == mnt) in __traverse_mounts()
1522 mntput(path->mnt); in __traverse_mounts()
1551 mntput(path->mnt); in follow_down_one()
1552 path->mnt = mounted; in follow_down_one()
1567 struct vfsmount *mnt = path->mnt; in follow_down() local
1571 if (path->mnt != mnt) in follow_down()
1572 mntput(mnt); in follow_down()
1605 struct mount *mounted = __lookup_mnt(path->mnt, dentry); in __follow_mount_rcu()
1607 path->mnt = &mounted->mnt; in __follow_mount_rcu()
1608 dentry = path->dentry = mounted->mnt.mnt_root; in __follow_mount_rcu()
1631 path->mnt = nd->path.mnt; in handle_mounts()
1638 path->mnt = nd->path.mnt; in handle_mounts()
1649 if (path->mnt != nd->path.mnt) in handle_mounts()
1650 mntput(path->mnt); in handle_mounts()
1928 unlikely(link->mnt->mnt_flags & MNT_NOSYMFOLLOW)) in pick_link()
2005 if (nd->path.mnt != path.mnt) in step_into()
2006 mntput(nd->path.mnt); in step_into()
2018 if (path.mnt == nd->path.mnt) in step_into()
2019 mntget(path.mnt); in step_into()
2030 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot_rcu()
2033 if (!choose_mountpoint_rcu(real_mount(nd->path.mnt), in follow_dotdot_rcu()
2052 if (unlikely(!path_connected(nd->path.mnt, parent))) in follow_dotdot_rcu()
2070 if (unlikely(nd->path.dentry == nd->path.mnt->mnt_root)) { in follow_dotdot()
2073 if (!choose_mountpoint(real_mount(nd->path.mnt), in follow_dotdot()
2084 if (unlikely(!path_connected(nd->path.mnt, parent))) { in follow_dotdot()
2102 if (!nd->root.mnt) { in handle_dots()
2466 idmap = mnt_idmap(nd->path.mnt); in link_path_walk()
2579 nd->root.mnt = NULL; in path_init()
2690 nd->path.mnt = NULL; in path_lookupat()
2728 nd->path.mnt = NULL; in path_parentat()
2783 error = mnt_want_write(parent_path.mnt); in __start_removing_path()
2791 path->mnt = no_free_ptr(parent_path.mnt); in __start_removing_path()
2800 mnt_drop_write(parent_path.mnt); in __start_removing_path()
2835 path->mnt = no_free_ptr(parent_path.mnt); in kern_path_parent()
2897 int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, in vfs_path_lookup() argument
2902 struct path root = {.mnt = mnt, .dentry = dentry}; in vfs_path_lookup()
3194 if (unlikely(!path_connected(path->mnt, parent))) { in path_pts()
3523 return !(path->mnt->mnt_flags & MNT_NODEV) && in may_open_dev()
3524 !(path->mnt->mnt_sb->s_iflags & SB_I_NODEV); in may_open_dev()
3655 file->__f_path.mnt = nd->path.mnt; in atomic_open()
3753 idmap = mnt_idmap(nd->path.mnt); in lookup_open()
3884 got_write = !mnt_want_write(nd->path.mnt); in open_last_lookups()
3908 mnt_drop_write(nd->path.mnt); in open_last_lookups()
3947 idmap = mnt_idmap(nd->path.mnt); in do_open()
3968 error = mnt_want_write(nd->path.mnt); in do_open()
3985 mnt_drop_write(nd->path.mnt); in do_open()
4023 file->__f_path.mnt = parentpath->mnt; in vfs_tmpfile()
4088 error = mnt_want_write(path.mnt); in do_tmpfile()
4091 error = vfs_tmpfile(mnt_idmap(path.mnt), &path, file, op->mode); in do_tmpfile()
4096 mnt_drop_write(path.mnt); in do_tmpfile()
4219 error = mnt_want_write(path->mnt); in filename_create()
4242 mnt_drop_write(path->mnt); in filename_create()
4264 mnt_drop_write(path->mnt); in end_creating_path()
4369 idmap = mnt_idmap(path.mnt); in do_mknodat()
4486 dentry = vfs_mkdir(mnt_idmap(path.mnt), path.dentry->d_inode, in do_mkdirat()
4591 error = mnt_want_write(path.mnt); in do_rmdir()
4603 error = vfs_rmdir(mnt_idmap(path.mnt), path.dentry->d_inode, dentry); in do_rmdir()
4608 mnt_drop_write(path.mnt); in do_rmdir()
4720 error = mnt_want_write(path.mnt); in do_unlinkat()
4737 error = vfs_unlink(mnt_idmap(path.mnt), path.dentry->d_inode, in do_unlinkat()
4751 mnt_drop_write(path.mnt); in do_unlinkat()
4843 error = vfs_symlink(mnt_idmap(path.mnt), path.dentry->d_inode, in do_symlinkat()
5002 if (old_path.mnt != new_path.mnt) in do_linkat()
5004 idmap = mnt_idmap(new_path.mnt); in do_linkat()
5294 if (old_path.mnt != new_path.mnt) in do_renameat2()
5306 error = mnt_want_write(old_path.mnt); in do_renameat2()
5359 rd.mnt_idmap = mnt_idmap(old_path.mnt); in do_renameat2()
5377 mnt_drop_write(old_path.mnt); in do_renameat2()