/linux/fs/ |
A D | namespace.c | 840 mnt->mnt_mountpoint = mnt->mnt.mnt_root; in unhash_mnt() 982 mnt->mnt_mountpoint = mnt->mnt.mnt_root; in vfs_create_mount() 988 return &mnt->mnt; in vfs_create_mount() 1070 mnt->mnt.mnt_flags = old->mnt.mnt_flags; in clone_mnt() 1076 mnt->mnt.mnt_userns = get_user_ns(mnt->mnt.mnt_userns); in clone_mnt() 1079 mnt->mnt_mountpoint = mnt->mnt.mnt_root; in clone_mnt() 2261 path->mnt = mnt; in lock_mount() 2445 path->mnt = &mnt->mnt; in open_detached_copy() 3774 while (&mnt->mnt != root->mnt && mnt_has_parent(mnt)) { in is_path_reachable() 4296 root.mnt = mnt; in init_mount_tree() [all …]
|
A D | pnode.c | 100 for (m = master = next_peer(mnt); m != mnt; m = next_peer(m)) { in do_make_slave() 101 if (m->mnt.mnt_root == mnt->mnt.mnt_root) { in do_make_slave() 133 mnt->mnt.mnt_flags |= MNT_UNBINDABLE; in change_mnt_propagation() 135 mnt->mnt.mnt_flags &= ~MNT_UNBINDABLE; in change_mnt_propagation() 345 if (child->mnt_mountpoint != mnt->mnt.mnt_root) in find_topper() 388 child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_busy() 421 child = __lookup_mnt(&m->mnt, mnt->mnt_mountpoint); in propagate_mount_unlock() 430 mnt->mnt.mnt_flags |= MNT_UMOUNT; in umount_one() 451 if (mnt->mnt.mnt_flags & (MNT_UMOUNT | MNT_MARKED)) in __propagate_umount() 458 if (child->mnt_mountpoint == mnt->mnt.mnt_root) in __propagate_umount() [all …]
|
A D | pnode.h | 13 #define IS_MNT_SHARED(m) ((m)->mnt.mnt_flags & MNT_SHARED) 16 #define CLEAR_MNT_SHARED(m) ((m)->mnt.mnt_flags &= ~MNT_SHARED) 18 #define IS_MNT_MARKED(m) ((m)->mnt.mnt_flags & MNT_MARKED) 19 #define SET_MNT_MARK(m) ((m)->mnt.mnt_flags |= MNT_MARKED) 20 #define CLEAR_MNT_MARK(m) ((m)->mnt.mnt_flags &= ~MNT_MARKED) 21 #define IS_MNT_LOCKED(m) ((m)->mnt.mnt_flags & MNT_LOCKED) 33 static inline void set_mnt_shared(struct mount *mnt) in set_mnt_shared() argument 35 mnt->mnt.mnt_flags &= ~MNT_SHARED_MASK; in set_mnt_shared() 36 mnt->mnt.mnt_flags |= MNT_SHARED; in set_mnt_shared() 47 int mnt_get_count(struct mount *mnt); [all …]
|
A D | proc_namespace.c | 79 if (mnt->mnt_flags & fs_infop->flag) in show_mnt_opts() 83 if (mnt_user_ns(mnt) != &init_user_ns) in show_mnt_opts() 104 struct mount *r = real_mount(mnt); in show_vfsmnt() 105 struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; in show_vfsmnt() 127 show_mnt_opts(m, mnt); in show_vfsmnt() 138 struct mount *r = real_mount(mnt); in show_mountinfo() 139 struct super_block *sb = mnt->mnt_sb; in show_mountinfo() 140 struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; in show_mountinfo() 160 show_mnt_opts(m, mnt); in show_mountinfo() 200 struct mount *r = real_mount(mnt); in show_vfsstat() [all …]
|
A D | mount.h | 43 struct vfsmount mnt; member 84 static inline struct mount *real_mount(struct vfsmount *mnt) in real_mount() argument 86 return container_of(mnt, struct mount, mnt); in real_mount() 89 static inline int mnt_has_parent(struct mount *mnt) in mnt_has_parent() argument 91 return mnt != mnt->mnt_parent; in mnt_has_parent() 94 static inline int is_mounted(struct vfsmount *mnt) in is_mounted() argument 97 return !IS_ERR_OR_NULL(real_mount(mnt)->mnt_ns); in is_mounted() 107 struct mount *m = __lookup_mnt(path->mnt, path->dentry); in __path_is_mountpoint() 108 return m && likely(!(m->mnt.mnt_flags & MNT_SYNC_UMOUNT)); in __path_is_mountpoint()
|
A D | fhandle.c | 72 if (put_user(real_mount(path->mnt)->mnt_id, mnt_id) || in do_sys_name_to_handle() 117 struct vfsmount *mnt; in get_vfsmount_from_fd() local 122 mnt = mntget(fs->pwd.mnt); in get_vfsmount_from_fd() 128 mnt = mntget(f.file->f_path.mnt); in get_vfsmount_from_fd() 131 return mnt; in get_vfsmount_from_fd() 145 path->mnt = get_vfsmount_from_fd(mountdirfd); in do_handle_to_path() 146 if (IS_ERR(path->mnt)) { in do_handle_to_path() 147 retval = PTR_ERR(path->mnt); in do_handle_to_path() 152 path->dentry = exportfs_decode_fh(path->mnt, in do_handle_to_path() 162 mntput(path->mnt); in do_handle_to_path()
|
A D | namei.c | 957 if (nd->path.mnt != NULL && nd->path.mnt != nd->root.mnt) in nd_jump_root() 997 if (nd->path.mnt != path->mnt) in nd_jump_link() 1233 path->mnt = &parent->mnt; in follow_up() 1246 root->mnt == &m->mnt)) in choose_mountpoint_rcu() 1249 path->mnt = &m->mnt; in choose_mountpoint_rcu() 1415 if (path->mnt != mnt) in follow_down() 1452 path->mnt = &mounted->mnt; in __follow_mount_rcu() 1480 path->mnt = nd->path.mnt; in handle_mounts() 1491 path->mnt = nd->path.mnt; in handle_mounts() 1503 if (path->mnt != nd->path.mnt) in handle_mounts() [all …]
|
A D | d_path.c | 103 static int __prepend_path(const struct dentry *dentry, const struct mount *mnt, in __prepend_path() argument 106 while (dentry != root->dentry || &mnt->mnt != root->mnt) { in __prepend_path() 109 if (dentry == mnt->mnt.mnt_root) { in __prepend_path() 110 struct mount *m = READ_ONCE(mnt->mnt_parent); in __prepend_path() 113 if (likely(mnt != m)) { in __prepend_path() 114 dentry = READ_ONCE(mnt->mnt_mountpoint); in __prepend_path() 115 mnt = m; in __prepend_path() 119 mnt_ns = READ_ONCE(mnt->mnt_ns); in __prepend_path() 171 error = __prepend_path(path->dentry, real_mount(path->mnt), root, &b); in prepend_path() 281 (!IS_ROOT(path->dentry) || path->dentry != path->mnt->mnt_root)) in d_path()
|
A D | file_table.c | 214 struct file *alloc_file_pseudo(struct inode *inode, struct vfsmount *mnt, in alloc_file_pseudo() argument 225 path.dentry = d_alloc_pseudo(mnt->mnt_sb, &this); in alloc_file_pseudo() 228 if (!mnt->mnt_sb->s_d_op) in alloc_file_pseudo() 230 path.mnt = mntget(mnt); in alloc_file_pseudo() 257 struct vfsmount *mnt = file->f_path.mnt; in __fput() local 291 __mnt_drop_write(mnt); in __fput() 295 dissolve_on_fput(mnt); in __fput() 296 mntput(mnt); in __fput()
|
/linux/kernel/ |
A D | usermode_driver.c | 15 struct vfsmount *mnt; in blob_to_mnt() local 24 mnt = kern_mount(type); in blob_to_mnt() 26 if (IS_ERR(mnt)) in blob_to_mnt() 27 return mnt; in blob_to_mnt() 31 mntput(mnt); in blob_to_mnt() 41 mntput(mnt); in blob_to_mnt() 50 return mnt; in blob_to_mnt() 62 struct vfsmount *mnt; in umd_load_blob() local 68 if (IS_ERR(mnt)) in umd_load_blob() 71 info->wd.mnt = mnt; in umd_load_blob() [all …]
|
/linux/tools/lib/api/fs/ |
A D | tracing_path.c | 31 const char *mnt; in tracing_path_tracefs_mount() local 33 mnt = tracefs__mount(); in tracing_path_tracefs_mount() 34 if (!mnt) in tracing_path_tracefs_mount() 37 __tracing_path_set("", mnt); in tracing_path_tracefs_mount() 44 const char *mnt; in tracing_path_debugfs_mount() local 46 mnt = debugfs__mount(); in tracing_path_debugfs_mount() 47 if (!mnt) in tracing_path_debugfs_mount() 57 const char *mnt; in tracing_path_mount() local 60 if (mnt) in tracing_path_mount() 61 return mnt; in tracing_path_mount() [all …]
|
/linux/fs/autofs/ |
A D | expire.c | 33 struct path path = {.mnt = mnt, .dentry = dentry}; in autofs_mount_busy() 58 if (!may_umount_tree(path.mnt)) { in autofs_mount_busy() 162 if (!may_umount_tree(mnt)) { in autofs_direct_busy() 207 if (autofs_mount_busy(mnt, p, how)) { in autofs_tree_busy() 256 if (autofs_mount_busy(mnt, p, how)) in autofs_check_leaves() 275 struct vfsmount *mnt, in autofs_expire_direct() argument 322 struct vfsmount *mnt, in should_expire() argument 343 if (autofs_mount_busy(mnt, dentry, how)) in should_expire() 421 struct vfsmount *mnt, in autofs_expire_indirect() argument 537 struct vfsmount *mnt, in autofs_expire_run() argument [all …]
|
/linux/security/tomoyo/ |
A D | tomoyo.c | 147 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_unlink() 164 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_mkdir() 180 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_rmdir() 197 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_symlink() 215 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_mknod() 254 struct path path1 = { .mnt = new_dir->mnt, .dentry = old_dentry }; in tomoyo_path_link() 255 struct path path2 = { .mnt = new_dir->mnt, .dentry = new_dentry }; in tomoyo_path_link() 275 struct path path1 = { .mnt = old_parent->mnt, .dentry = old_dentry }; in tomoyo_path_rename() 276 struct path path2 = { .mnt = new_parent->mnt, .dentry = new_dentry }; in tomoyo_path_rename() 403 static int tomoyo_sb_umount(struct vfsmount *mnt, int flags) in tomoyo_sb_umount() argument [all …]
|
/linux/tools/bpf/bpftool/ |
A D | tracelog.c | 27 static int validate_tracefs_mnt(const char *mnt, unsigned long magic) in validate_tracefs_mnt() argument 31 if (statfs(mnt, &st_fs) < 0) in validate_tracefs_mnt() 40 find_tracefs_mnt_single(unsigned long magic, char *mnt, const char *mntpt) in find_tracefs_mnt_single() argument 53 strcpy(mnt, mntpt); in find_tracefs_mnt_single() 57 static bool get_tracefs_pipe(char *mnt) in get_tracefs_pipe() argument 73 if (find_tracefs_mnt_single(TRACEFS_MAGIC, mnt, *ptr)) in get_tracefs_pipe() 83 while (fscanf(fp, format, mnt, type) == 2) in get_tracefs_pipe() 91 if (found && validate_tracefs_mnt(mnt, TRACEFS_MAGIC)) in get_tracefs_pipe() 103 strcpy(mnt, known_mnts[1]); in get_tracefs_pipe() 104 if (mount_tracefs(mnt)) in get_tracefs_pipe() [all …]
|
/linux/tools/testing/selftests/memfd/ |
A D | run_fuse_test.sh | 5 fusermount -u ./mnt 6 rmdir ./mnt 11 mkdir mnt 12 ./fuse_mnt ./mnt 13 ./fuse_test ./mnt/memfd $@ 14 fusermount -u ./mnt 15 rmdir ./mnt
|
/linux/include/linux/ |
A D | mount.h | 78 static inline struct user_namespace *mnt_user_ns(const struct vfsmount *mnt) in mnt_user_ns() argument 81 return smp_load_acquire(&mnt->mnt_userns); in mnt_user_ns() 87 extern int mnt_want_write(struct vfsmount *mnt); 89 extern void mnt_drop_write(struct vfsmount *mnt); 91 extern void mntput(struct vfsmount *mnt); 92 extern struct vfsmount *mntget(struct vfsmount *mnt); 94 extern bool __mnt_is_readonly(struct vfsmount *mnt); 95 extern bool mnt_may_suid(struct vfsmount *mnt); 112 extern void mnt_set_expiry(struct vfsmount *mnt, struct list_head *expiry_list); 121 extern void kern_unmount_array(struct vfsmount *mnt[], unsigned int num);
|
/linux/fs/exportfs/ |
A D | expfs.c | 31 struct path path = {.mnt = mnt, .dentry = dir}; in exportfs_get_name() 121 static struct dentry *reconnect_one(struct vfsmount *mnt, in reconnect_one() argument 130 if (mnt->mnt_sb->s_export_op->get_parent) in reconnect_one() 131 parent = mnt->mnt_sb->s_export_op->get_parent(dentry); in reconnect_one() 142 err = exportfs_get_name(mnt, parent, nbuf, dentry); in reconnect_one() 219 BUG_ON(dentry == mnt->mnt_sb->s_root); in reconnect_path() 222 parent = reconnect_one(mnt, dentry, nbuf); in reconnect_path() 285 .mnt = path->mnt, in get_name() 459 err = reconnect_path(mnt, result, nbuf); in exportfs_decode_fh_raw() 497 target_dir = nop->fh_to_parent(mnt->mnt_sb, fid, in exportfs_decode_fh_raw() [all …]
|
/linux/fs/notify/ |
A D | fsnotify.c | 26 void __fsnotify_vfsmount_delete(struct vfsmount *mnt) in __fsnotify_vfsmount_delete() argument 28 fsnotify_clear_marks_by_mount(mnt); in __fsnotify_vfsmount_delete() 165 if (mnt) in fsnotify_event_needs_parent() 184 struct mount *mnt = path ? real_mount(path->mnt) : NULL; in __fsnotify_parent() local 200 (!mnt || !mnt->mnt_fsnotify_marks) && !parent_watched) in __fsnotify_parent() 471 struct mount *mnt = NULL; in fsnotify() local 477 mnt = real_mount(path->mnt); in fsnotify() 498 (!mnt || !mnt->mnt_fsnotify_marks) && in fsnotify() 504 if (mnt) in fsnotify() 505 marks_mask |= mnt->mnt_fsnotify_mask; in fsnotify() [all …]
|
/linux/Documentation/target/ |
A D | tcm_mod_builder.rst | 33 tcm_dir: /mnt/sdb/lio-core-2.6.git/Documentation/target/../../ 36 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000 39 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000 41 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/tcm_nab5000_base.h 43 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../include/target/target_core_fabric_ops.h 51 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/Kbuild 53 /mnt/sdb/lio-core-2.6.git/Documentation/target/../../drivers/target/tcm_nab5000/Kconfig 72 target:/mnt/sdb/lio-core-2.6.git# ls -la drivers/target/tcm_nab5000/ 98 target:/mnt/sdb/lio-core-2.6.git# insmod drivers/target/tcm_nab5000.ko 104 target:/mnt/sdb/lio-core-2.6.git# tree /sys/kernel/config/target/nab5000/ [all …]
|
/linux/security/apparmor/ |
A D | mount.c | 90 if (aad(sa)->mnt.type) { in audit_cb() 94 if (aad(sa)->mnt.src_name) { in audit_cb() 98 if (aad(sa)->mnt.trans) { in audit_cb() 102 if (aad(sa)->mnt.flags) { in audit_cb() 107 if (aad(sa)->mnt.data) { in audit_cb() 170 aad(&sa)->mnt.type = type; in audit_mount() 171 aad(&sa)->mnt.trans = trans; in audit_mount() 172 aad(&sa)->mnt.flags = flags; in audit_mount() 174 aad(&sa)->mnt.data = data; in audit_mount() 618 struct path path = { .mnt = mnt, .dentry = mnt->mnt_root }; in aa_umount() [all …]
|
/linux/tools/perf/util/ |
A D | cgroup.c | 34 char mnt[PATH_MAX + 1]; in open_cgroup() local 41 scnprintf(path, PATH_MAX, "%s/%s", mnt, name); in open_cgroup() 54 char mnt[PATH_MAX + 1]; in read_cgroup_id() local 64 scnprintf(path, PATH_MAX, "%s/%s", mnt, cgrp->name); in read_cgroup_id() 81 char mnt[PATH_MAX + 1]; in cgroup_is_v2() local 84 if (cgroupfs_find_mountpoint(mnt, PATH_MAX + 1, subsys)) in cgroup_is_v2() 87 if (statfs(mnt, &stbuf) < 0) in cgroup_is_v2() 281 char mnt[PATH_MAX]; in match_cgroups() local 288 if (cgroupfs_find_mountpoint(mnt, sizeof(mnt), "perf_event")) in match_cgroups() 292 prefix_len = strlen(mnt); in match_cgroups() [all …]
|
A D | cpumap.c | 333 const char *mnt; in set_max_cpu_num() local 341 mnt = sysfs__mountpoint(); in set_max_cpu_num() 342 if (!mnt) in set_max_cpu_num() 357 ret = snprintf(path, PATH_MAX, "%s/devices/system/cpu/present", mnt); in set_max_cpu_num() 373 const char *mnt; in set_max_node_num() local 380 mnt = sysfs__mountpoint(); in set_max_node_num() 381 if (!mnt) in set_max_node_num() 459 const char *mnt; in cpu__setup_cpunode_map() local 466 mnt = sysfs__mountpoint(); in cpu__setup_cpunode_map() 467 if (!mnt) in cpu__setup_cpunode_map() [all …]
|
/linux/fs/cifs/ |
A D | cifs_dfs_ref.c | 276 struct vfsmount *mnt; in cifs_dfs_do_mount() local 298 mnt = vfs_submount(mntpt, &cifs_fs_type, devname, mountdata); in cifs_dfs_do_mount() 301 return mnt; in cifs_dfs_do_mount() 312 struct vfsmount *mnt; in cifs_dfs_do_automount() local 325 mnt = ERR_PTR(-EREMOTE); in cifs_dfs_do_automount() 333 mnt = ERR_CAST(full_path); in cifs_dfs_do_automount() 340 mnt = cifs_dfs_do_mount(mntpt, cifs_sb, full_path); in cifs_dfs_do_automount() 341 cifs_dbg(FYI, "%s: cifs_dfs_do_mount:%s , mnt:%p\n", __func__, full_path + 1, mnt); in cifs_dfs_do_automount() 347 return mnt; in cifs_dfs_do_automount()
|
/linux/tools/testing/selftests/vm/ |
A D | run_vmtests.sh | 8 mnt=./huge 69 mkdir $mnt 70 mount -t hugetlbfs none $mnt 187 ./userfaultfd hugetlb $half_ufd_size_MB 32 $mnt/ufd_test_file 194 rm -f $mnt/ufd_test_file 208 umount $mnt 209 rm -rf $mnt
|
/linux/Documentation/filesystems/ |
A D | sharedsubtree.rst | 64 #ls /mnt 77 #ls /mnt/a 100 the mount at /mnt. 108 #ls /mnt/a 123 #ls /mnt/b 126 /mnt 620 mount --bind /mnt /mnt 625 what should be the contents of /mnt /mnt/1 /mnt/1/1 should be? 626 Should they all be identical? or should /mnt and /mnt/1 be 645 mount --bind /mnt /mnt [all …]
|