Lines Matching refs:path

678 struct vfsmount *lookup_mnt(struct path *path)  in lookup_mnt()  argument
687 child_mnt = __lookup_mnt(path->mnt, path->dentry); in lookup_mnt()
826 static void detach_mnt(struct mount *mnt, struct path *old_path) in detach_mnt()
1156 struct vfsmount *mnt_clone_internal(struct path *path) in mnt_clone_internal() argument
1159 p = clone_mnt(real_mount(path->mnt), path->dentry, CL_PRIVATE); in mnt_clone_internal()
1597 struct path path; in SYSCALL_DEFINE2() local
1611 retval = user_path_mountpoint_at(AT_FDCWD, name, lookup_flags, &path); in SYSCALL_DEFINE2()
1614 mnt = real_mount(path.mnt); in SYSCALL_DEFINE2()
1616 if (path.dentry != path.mnt->mnt_root) in SYSCALL_DEFINE2()
1629 dput(path.dentry); in SYSCALL_DEFINE2()
1741 struct vfsmount *collect_mounts(struct path *path) in collect_mounts() argument
1745 if (!check_mnt(real_mount(path->mnt))) in collect_mounts()
1748 tree = copy_tree(real_mount(path->mnt), path->dentry, in collect_mounts()
1774 struct vfsmount *clone_private_mount(struct path *path) in clone_private_mount() argument
1776 struct mount *old_mnt = real_mount(path->mnt); in clone_private_mount()
1783 new_mnt = clone_mnt(old_mnt, path->dentry, CL_PRIVATE); in clone_private_mount()
1900 struct path *parent_path) in attach_recursive_mnt()
1951 static struct mountpoint *lock_mount(struct path *path) in lock_mount() argument
1954 struct dentry *dentry = path->dentry; in lock_mount()
1962 mnt = lookup_mnt(path); in lock_mount()
1975 mutex_unlock(&path->dentry->d_inode->i_mutex); in lock_mount()
1976 path_put(path); in lock_mount()
1977 path->mnt = mnt; in lock_mount()
1978 dentry = path->dentry = dget(mnt->mnt_root); in lock_mount()
2022 static int do_change_type(struct path *path, int flag) in do_change_type() argument
2025 struct mount *mnt = real_mount(path->mnt); in do_change_type()
2030 if (path->dentry != path->mnt->mnt_root) in do_change_type()
2070 static int do_loopback(struct path *path, const char *old_name, in do_loopback() argument
2073 struct path old_path; in do_loopback()
2087 mp = lock_mount(path); in do_loopback()
2093 parent = real_mount(path->mnt); in do_loopback()
2155 static int do_remount(struct path *path, int flags, int mnt_flags, in do_remount() argument
2159 struct super_block *sb = path->mnt->mnt_sb; in do_remount()
2160 struct mount *mnt = real_mount(path->mnt); in do_remount()
2165 if (path->dentry != path->mnt->mnt_root) in do_remount()
2207 err = change_mount_flags(path->mnt, flags); in do_remount()
2233 static int do_move_mount(struct path *path, const char *old_name) in do_move_mount() argument
2235 struct path old_path, parent_path; in do_move_mount()
2246 mp = lock_mount(path); in do_move_mount()
2252 p = real_mount(path->mnt); in do_move_mount()
2268 if (d_is_dir(path->dentry) != in do_move_mount()
2287 err = attach_recursive_mnt(old, real_mount(path->mnt), mp, &parent_path); in do_move_mount()
2329 static int do_add_mount(struct mount *newmnt, struct path *path, int mnt_flags) in do_add_mount() argument
2337 mp = lock_mount(path); in do_add_mount()
2341 parent = real_mount(path->mnt); in do_add_mount()
2354 if (path->mnt->mnt_sb == newmnt->mnt.mnt_sb && in do_add_mount()
2355 path->mnt->mnt_root == path->dentry) in do_add_mount()
2376 static int do_new_mount(struct path *path, const char *fstype, int flags, in do_new_mount() argument
2418 err = do_add_mount(real_mount(mnt), path, mnt_flags); in do_new_mount()
2424 int finish_automount(struct vfsmount *m, struct path *path) in finish_automount() argument
2433 if (m->mnt_sb == path->mnt->mnt_sb && in finish_automount()
2434 m->mnt_root == path->dentry) { in finish_automount()
2439 err = do_add_mount(mnt, path, path->mnt->mnt_flags | MNT_SHRINKABLE); in finish_automount()
2659 struct path path; in do_mount() local
2672 retval = user_path(dir_name, &path); in do_mount()
2676 retval = security_sb_mount(dev_name, &path, in do_mount()
2708 mnt_flags |= path.mnt->mnt_flags & MNT_ATIME_MASK; in do_mount()
2716 retval = do_remount(&path, flags & ~MS_REMOUNT, mnt_flags, in do_mount()
2719 retval = do_loopback(&path, dev_name, flags & MS_REC); in do_mount()
2721 retval = do_change_type(&path, flags); in do_mount()
2723 retval = do_move_mount(&path, dev_name); in do_mount()
2725 retval = do_new_mount(&path, type_page, flags, mnt_flags, in do_mount()
2728 path_put(&path); in do_mount()
2867 struct path path; in mount_subtree() local
2875 name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &path); in mount_subtree()
2883 s = path.mnt->mnt_sb; in mount_subtree()
2885 mntput(path.mnt); in mount_subtree()
2889 return path.dentry; in mount_subtree()
2933 const struct path *root) in is_path_reachable()
2942 int path_is_under(struct path *path1, struct path *path2) in path_is_under()
2980 struct path new, old, parent_path, root_parent, root; in SYSCALL_DEFINE2()
3079 struct path root; in init_mount_tree()
3187 struct path ns_root; in current_chrooted()
3188 struct path fs_root; in current_chrooted()
3311 struct path root; in mntns_install()