Lines Matching refs:path
667 struct vfsmount *lookup_mnt(struct path *path) in lookup_mnt() argument
676 child_mnt = __lookup_mnt(path->mnt, path->dentry); in lookup_mnt()
815 static void detach_mnt(struct mount *mnt, struct path *old_path) in detach_mnt()
1145 struct vfsmount *mnt_clone_internal(struct path *path) in mnt_clone_internal() argument
1148 p = clone_mnt(real_mount(path->mnt), path->dentry, CL_PRIVATE); in mnt_clone_internal()
1586 struct path path; in SYSCALL_DEFINE2() local
1600 retval = user_path_mountpoint_at(AT_FDCWD, name, lookup_flags, &path); in SYSCALL_DEFINE2()
1603 mnt = real_mount(path.mnt); in SYSCALL_DEFINE2()
1605 if (path.dentry != path.mnt->mnt_root) in SYSCALL_DEFINE2()
1618 dput(path.dentry); in SYSCALL_DEFINE2()
1730 struct vfsmount *collect_mounts(struct path *path) in collect_mounts() argument
1734 if (!check_mnt(real_mount(path->mnt))) in collect_mounts()
1737 tree = copy_tree(real_mount(path->mnt), path->dentry, in collect_mounts()
1763 struct vfsmount *clone_private_mount(struct path *path) in clone_private_mount() argument
1765 struct mount *old_mnt = real_mount(path->mnt); in clone_private_mount()
1772 new_mnt = clone_mnt(old_mnt, path->dentry, CL_PRIVATE); in clone_private_mount()
1889 struct path *parent_path) in attach_recursive_mnt()
1940 static struct mountpoint *lock_mount(struct path *path) in lock_mount() argument
1943 struct dentry *dentry = path->dentry; in lock_mount()
1951 mnt = lookup_mnt(path); in lock_mount()
1964 mutex_unlock(&path->dentry->d_inode->i_mutex); in lock_mount()
1965 path_put(path); in lock_mount()
1966 path->mnt = mnt; in lock_mount()
1967 dentry = path->dentry = dget(mnt->mnt_root); in lock_mount()
2011 static int do_change_type(struct path *path, int flag) in do_change_type() argument
2014 struct mount *mnt = real_mount(path->mnt); in do_change_type()
2019 if (path->dentry != path->mnt->mnt_root) in do_change_type()
2059 static int do_loopback(struct path *path, const char *old_name, in do_loopback() argument
2062 struct path old_path; in do_loopback()
2076 mp = lock_mount(path); in do_loopback()
2082 parent = real_mount(path->mnt); in do_loopback()
2144 static int do_remount(struct path *path, int flags, int mnt_flags, in do_remount() argument
2148 struct super_block *sb = path->mnt->mnt_sb; in do_remount()
2149 struct mount *mnt = real_mount(path->mnt); in do_remount()
2154 if (path->dentry != path->mnt->mnt_root) in do_remount()
2196 err = change_mount_flags(path->mnt, flags); in do_remount()
2222 static int do_move_mount(struct path *path, const char *old_name) in do_move_mount() argument
2224 struct path old_path, parent_path; in do_move_mount()
2235 mp = lock_mount(path); in do_move_mount()
2241 p = real_mount(path->mnt); in do_move_mount()
2257 if (d_is_dir(path->dentry) != in do_move_mount()
2276 err = attach_recursive_mnt(old, real_mount(path->mnt), mp, &parent_path); in do_move_mount()
2318 static int do_add_mount(struct mount *newmnt, struct path *path, int mnt_flags) in do_add_mount() argument
2326 mp = lock_mount(path); in do_add_mount()
2330 parent = real_mount(path->mnt); in do_add_mount()
2343 if (path->mnt->mnt_sb == newmnt->mnt.mnt_sb && in do_add_mount()
2344 path->mnt->mnt_root == path->dentry) in do_add_mount()
2365 static int do_new_mount(struct path *path, const char *fstype, int flags, in do_new_mount() argument
2409 err = do_add_mount(real_mount(mnt), path, mnt_flags); in do_new_mount()
2415 int finish_automount(struct vfsmount *m, struct path *path) in finish_automount() argument
2424 if (m->mnt_sb == path->mnt->mnt_sb && in finish_automount()
2425 m->mnt_root == path->dentry) { in finish_automount()
2430 err = do_add_mount(mnt, path, path->mnt->mnt_flags | MNT_SHRINKABLE); in finish_automount()
2650 struct path path; in do_mount() local
2663 retval = user_path(dir_name, &path); in do_mount()
2667 retval = security_sb_mount(dev_name, &path, in do_mount()
2699 mnt_flags |= path.mnt->mnt_flags & MNT_ATIME_MASK; in do_mount()
2707 retval = do_remount(&path, flags & ~MS_REMOUNT, mnt_flags, in do_mount()
2710 retval = do_loopback(&path, dev_name, flags & MS_REC); in do_mount()
2712 retval = do_change_type(&path, flags); in do_mount()
2714 retval = do_move_mount(&path, dev_name); in do_mount()
2716 retval = do_new_mount(&path, type_page, flags, mnt_flags, in do_mount()
2719 path_put(&path); in do_mount()
2858 struct path path; in mount_subtree() local
2866 name, LOOKUP_FOLLOW|LOOKUP_AUTOMOUNT, &path); in mount_subtree()
2874 s = path.mnt->mnt_sb; in mount_subtree()
2876 mntput(path.mnt); in mount_subtree()
2880 return path.dentry; in mount_subtree()
2924 const struct path *root) in is_path_reachable()
2933 int path_is_under(struct path *path1, struct path *path2) in path_is_under()
2971 struct path new, old, parent_path, root_parent, root; in SYSCALL_DEFINE2()
3070 struct path root; in init_mount_tree()
3178 struct path ns_root; in current_chrooted()
3179 struct path fs_root; in current_chrooted()
3285 struct path root; in mntns_install()