Lines Matching refs:mnt

477 	mntget(path->mnt);  in path_get()
491 mntput(path->mnt); in path_put()
517 struct vfsmount *mnt = path->mnt; in path_connected() local
520 if (mnt->mnt_root == mnt->mnt_sb->s_root) in path_connected()
523 return is_subdir(path->dentry, mnt->mnt_root); in path_connected()
562 if (!legitimize_mnt(nd->path.mnt, nd->m_seq)) in unlazy_walk()
597 if (nd->root.mnt && !(nd->flags & LOOKUP_ROOT)) { in unlazy_walk()
599 if (nd->root.mnt != fs->root.mnt || nd->root.dentry != fs->root.dentry) in unlazy_walk()
618 nd->root.mnt = NULL; in unlazy_walk()
645 nd->root.mnt = NULL; in complete_walk()
647 if (!legitimize_mnt(nd->path.mnt, nd->m_seq)) { in complete_walk()
653 mntput(nd->path.mnt); in complete_walk()
659 mntput(nd->path.mnt); in complete_walk()
705 if (path->mnt != nd->path.mnt) in path_put_conditional()
706 mntput(path->mnt); in path_put_conditional()
714 if (nd->path.mnt != path->mnt) in path_to_nameidata()
715 mntput(nd->path.mnt); in path_to_nameidata()
717 nd->path.mnt = path->mnt; in path_to_nameidata()
879 if (link->mnt == nd->path.mnt) in follow_link()
880 mntget(link->mnt); in follow_link()
911 if (!nd->root.mnt) in follow_link()
935 struct mount *mnt = real_mount(path->mnt); in follow_up_rcu() local
939 parent = mnt->mnt_parent; in follow_up_rcu()
940 if (&parent->mnt == path->mnt) in follow_up_rcu()
942 mountpoint = mnt->mnt_mountpoint; in follow_up_rcu()
944 path->mnt = &parent->mnt; in follow_up_rcu()
960 struct mount *mnt = real_mount(path->mnt); in follow_up() local
965 parent = mnt->mnt_parent; in follow_up()
966 if (parent == mnt) { in follow_up()
970 mntget(&parent->mnt); in follow_up()
971 mountpoint = dget(mnt->mnt_mountpoint); in follow_up()
975 mntput(path->mnt); in follow_up()
976 path->mnt = &parent->mnt; in follow_up()
989 struct vfsmount *mnt; in follow_automount() local
1015 mnt = path->dentry->d_op->d_automount(path); in follow_automount()
1016 if (IS_ERR(mnt)) { in follow_automount()
1026 if (PTR_ERR(mnt) == -EISDIR && (flags & LOOKUP_PARENT)) in follow_automount()
1028 return PTR_ERR(mnt); in follow_automount()
1031 if (!mnt) /* mount collision */ in follow_automount()
1036 mntget(path->mnt); in follow_automount()
1039 err = finish_automount(mnt, path); in follow_automount()
1047 path->mnt = mnt; in follow_automount()
1048 path->dentry = dget(mnt->mnt_root); in follow_automount()
1068 struct vfsmount *mnt = path->mnt; /* held by caller, must be left alone */ in follow_managed() local
1095 mntput(path->mnt); in follow_managed()
1096 path->mnt = mounted; in follow_managed()
1120 if (need_mntput && path->mnt == mnt) in follow_managed()
1121 mntput(path->mnt); in follow_managed()
1134 mntput(path->mnt); in follow_down_one()
1135 path->mnt = mounted; in follow_down_one()
1175 mounted = __lookup_mnt(path->mnt, path->dentry); in __follow_mount_rcu()
1178 path->mnt = &mounted->mnt; in __follow_mount_rcu()
1179 path->dentry = mounted->mnt.mnt_root; in __follow_mount_rcu()
1196 if (!nd->root.mnt) in follow_dotdot_rcu()
1201 nd->path.mnt == nd->root.mnt) { in follow_dotdot_rcu()
1204 if (nd->path.dentry != nd->path.mnt->mnt_root) { in follow_dotdot_rcu()
1226 mounted = __lookup_mnt(nd->path.mnt, nd->path.dentry); in follow_dotdot_rcu()
1229 nd->path.mnt = &mounted->mnt; in follow_dotdot_rcu()
1230 nd->path.dentry = mounted->mnt.mnt_root; in follow_dotdot_rcu()
1242 nd->root.mnt = NULL; in follow_dotdot_rcu()
1284 mntput(path->mnt); in follow_down()
1285 path->mnt = mounted; in follow_down()
1307 mntput(path->mnt); in follow_mount()
1308 path->mnt = mounted; in follow_mount()
1315 if (!nd->root.mnt) in follow_dotdot()
1322 nd->path.mnt == nd->root.mnt) { in follow_dotdot()
1325 if (nd->path.dentry != nd->path.mnt->mnt_root) { in follow_dotdot()
1430 struct vfsmount *mnt = nd->path.mnt; in lookup_fast() local
1482 path->mnt = mnt; in lookup_fast()
1512 path->mnt = mnt; in lookup_fast()
1542 path->mnt = nd->path.mnt; in lookup_slow()
1585 nd->root.mnt = NULL; in terminate_walk()
1630 if (unlikely(nd->path.mnt != path->mnt || in walk_component()
1923 nd->root.mnt = NULL; in path_init()
1985 nd->root.mnt = NULL; in path_init()
1995 if (nd->root.mnt && !(nd->flags & LOOKUP_ROOT)) { in path_cleanup()
1997 nd->root.mnt = NULL; in path_cleanup()
2137 int vfs_path_lookup(struct dentry *dentry, struct vfsmount *mnt, in vfs_path_lookup() argument
2150 nd.root.mnt = mnt; in vfs_path_lookup()
2357 path->mnt = nd->path.mnt; in mountpoint_last()
2360 mntget(path->mnt); in mountpoint_last()
2626 if (path->mnt->mnt_flags & MNT_NODEV) in may_open()
2784 file->f_path.mnt = nd->path.mnt; in atomic_open()
2849 path->mnt = nd->path.mnt; in atomic_open()
2931 path->mnt = nd->path.mnt; in lookup_open()
2953 struct path save_parent = { .dentry = NULL, .mnt = NULL }; in do_last()
3001 error = mnt_want_write(nd->path.mnt); in do_last()
3047 mnt_drop_write(nd->path.mnt); in do_last()
3074 if (unlikely(nd->path.mnt != path->mnt || in do_last()
3084 if ((nd->flags & LOOKUP_RCU) || nd->path.mnt != path->mnt) { in do_last()
3088 save_parent.mnt = mntget(path->mnt); in do_last()
3111 error = mnt_want_write(nd->path.mnt); in do_last()
3149 mnt_drop_write(nd->path.mnt); in do_last()
3170 save_parent.mnt = NULL; in do_last()
3173 mnt_drop_write(nd->path.mnt); in do_last()
3192 error = mnt_want_write(nd->path.mnt); in do_tmpfile()
3222 file->f_path.mnt = nd->path.mnt; in do_tmpfile()
3236 mnt_drop_write(nd->path.mnt); in do_tmpfile()
3320 struct file *do_file_open_root(struct dentry *dentry, struct vfsmount *mnt, in do_file_open_root() argument
3328 nd.root.mnt = mnt; in do_file_open_root()
3376 err2 = mnt_want_write(nd.path.mnt); in filename_create()
3411 mnt_drop_write(nd.path.mnt); in filename_create()
3435 mnt_drop_write(path->mnt); in done_path_create()
3690 error = mnt_want_write(nd.path.mnt); in do_rmdir()
3711 mnt_drop_write(nd.path.mnt); in do_rmdir()
3810 error = mnt_want_write(nd.path.mnt); in do_unlinkat()
3841 mnt_drop_write(nd.path.mnt); in do_unlinkat()
4053 if (old_path.mnt != new_path.mnt) in SYSCALL_DEFINE5()
4308 if (oldnd.path.mnt != newnd.path.mnt) in SYSCALL_DEFINE5()
4322 error = mnt_want_write(oldnd.path.mnt); in SYSCALL_DEFINE5()
4396 mnt_drop_write(oldnd.path.mnt); in SYSCALL_DEFINE5()