/kernel/linux/linux-6.6/fs/ |
H A D | namespace.c | 112 static inline struct hlist_head *m_hash(struct vfsmount *mnt, struct dentry *dentry) in m_hash() argument 114 unsigned long tmp = ((unsigned long)mnt / L1_CACHE_BYTES); in m_hash() 127 static int mnt_alloc_id(struct mount *mnt) in mnt_alloc_id() argument 133 mnt->mnt_id = res; in mnt_alloc_id() 137 static void mnt_free_id(struct mount *mnt) in mnt_free_id() argument 139 ida_free(&mnt_id_ida, mnt->mnt_id); in mnt_free_id() 145 static int mnt_alloc_group_id(struct mount *mnt) in mnt_alloc_group_id() argument 151 mnt->mnt_group_id = res; in mnt_alloc_group_id() 158 void mnt_release_group_id(struct mount *mnt) in mnt_release_group_id() argument 160 ida_free(&mnt_group_ida, mnt in mnt_release_group_id() 167 mnt_add_count(struct mount *mnt, int n) mnt_add_count() argument 181 mnt_get_count(struct mount *mnt) mnt_get_count() argument 199 struct mount *mnt = kmem_cache_zalloc(mnt_cache, GFP_KERNEL); alloc_vfsmnt() local 270 __mnt_is_readonly(struct vfsmount *mnt) __mnt_is_readonly() argument 276 mnt_inc_writers(struct mount *mnt) mnt_inc_writers() argument 285 mnt_dec_writers(struct mount *mnt) mnt_dec_writers() argument 294 mnt_get_writers(struct mount *mnt) mnt_get_writers() argument 310 mnt_is_readonly(struct vfsmount *mnt) mnt_is_readonly() argument 344 struct mount *mnt = real_mount(m); __mnt_want_write() local 463 __mnt_drop_write(struct vfsmount *mnt) __mnt_drop_write() argument 478 mnt_drop_write(struct vfsmount *mnt) mnt_drop_write() argument 516 mnt_hold_writers(struct mount *mnt) mnt_hold_writers() argument 559 mnt_unhold_writers(struct mount *mnt) mnt_unhold_writers() argument 569 mnt_make_readonly(struct mount *mnt) mnt_make_readonly() argument 582 struct mount *mnt; sb_prepare_remount_readonly() local 611 free_vfsmnt(struct mount *mnt) free_vfsmnt() argument 629 struct mount *mnt; __legitimize_mnt() local 688 __lookup_mnt(struct vfsmount *mnt, struct dentry *dentry) __lookup_mnt() argument 741 mnt_is_cursor(struct mount *mnt) mnt_is_cursor() argument 764 struct mount *mnt; __is_local_mountpoint() local 870 check_mnt(struct mount *mnt) check_mnt() argument 900 unhash_mnt(struct mount *mnt) unhash_mnt() argument 916 umount_mnt(struct mount *mnt) umount_mnt() argument 924 mnt_set_mountpoint(struct mount *mnt, struct mountpoint *mp, struct mount *child_mnt) mnt_set_mountpoint() argument 963 __attach_mnt(struct mount *mnt, struct mount *parent) __attach_mnt() argument 992 attach_mnt(struct mount *mnt, struct mount *parent, struct mountpoint *mp, bool beneath) attach_mnt() argument 1008 mnt_change_mountpoint(struct mount *parent, struct mountpoint *mp, struct mount *mnt) mnt_change_mountpoint() argument 1026 commit_tree(struct mount *mnt) commit_tree() argument 1085 struct mount *mnt; vfs_create_mount() local 1126 struct vfsmount *mnt; vfs_kern_mount() local 1170 struct mount *mnt; clone_mnt() local 1234 cleanup_mnt(struct mount *mnt) cleanup_mnt() argument 1275 mntput_no_expire(struct mount *mnt) mntput_no_expire() argument 1343 mntput(struct vfsmount *mnt) mntput() argument 1355 mntget(struct vfsmount *mnt) mntget() argument 1368 mnt_make_shortterm(struct vfsmount *mnt) mnt_make_shortterm() argument 1418 struct mount *mnt, *ret = NULL; mnt_list_next() local 1456 struct mount *mnt = v; m_next() local 1465 struct mount *mnt = v; m_stop() local 1510 struct mount *mnt = real_mount(m); may_umount_tree() local 1545 may_umount(struct vfsmount *mnt) may_umount() argument 1595 disconnect_mount(struct mount *mnt, enum umount_tree_flags how) disconnect_mount() argument 1628 umount_tree(struct mount *mnt, enum umount_tree_flags how) umount_tree() argument 1707 do_umount(struct mount *mnt, int flags) do_umount() argument 1816 struct mount *mnt; __detach_mounts() local 1871 struct mount *mnt = real_mount(path->mnt); can_umount() local 1889 struct mount *mnt = real_mount(path->mnt); path_umount() local 1949 from_mnt_ns(struct mnt_namespace *mnt) from_mnt_ns() argument 1967 copy_tree(struct mount *mnt, struct dentry *dentry, int flag) copy_tree() argument 2052 dissolve_on_fput(struct vfsmount *mnt) dissolve_on_fput() argument 2070 drop_collected_mounts(struct vfsmount *mnt) drop_collected_mounts() argument 2079 has_locked_children(struct mount *mnt, struct dentry *dentry) has_locked_children() argument 2138 struct mount *mnt; iterate_mounts() local 2150 lock_mnt_tree(struct mount *mnt) lock_mnt_tree() argument 2177 cleanup_group_ids(struct mount *mnt, struct mount *end) cleanup_group_ids() argument 2187 invent_group_ids(struct mount *mnt, bool recurse) invent_group_ids() argument 2204 count_mounts(struct mnt_namespace *ns, struct mount *mnt) count_mounts() argument 2438 struct vfsmount *mnt = path->mnt; do_lock_mount() local 2511 graft_tree(struct mount *mnt, struct mount *p, struct mountpoint *mp) graft_tree() argument 2546 struct mount *mnt = real_mount(path->mnt); do_change_type() local 2577 struct mount *mnt = ERR_PTR(-EINVAL), *old = real_mount(old_path->mnt); __do_loopback() local 2606 struct mount *mnt = NULL, *parent; do_loopback() local 2652 struct mount *mnt, *p; open_detached_copy() local 2744 can_change_locked_flags(struct mount *mnt, unsigned int mnt_flags) can_change_locked_flags() argument 2771 change_mount_ro_state(struct mount *mnt, unsigned int mnt_flags) change_mount_ro_state() argument 2785 set_mount_attributes(struct mount *mnt, unsigned int mnt_flags) set_mount_attributes() argument 2792 mnt_warn_timestamp_expiry(struct path *mountpoint, struct vfsmount *mnt) mnt_warn_timestamp_expiry() argument 2821 struct mount *mnt = real_mount(path->mnt); do_reconfigure_mnt() local 2860 struct mount *mnt = real_mount(path->mnt); do_remount() local 2903 tree_contains_unbindable(struct mount *mnt) tree_contains_unbindable() argument 3261 struct vfsmount *mnt; do_new_mount_fc() local 3358 struct mount *mnt; finish_automount() local 3426 mnt_set_expiry(struct vfsmount *mnt, struct list_head *expiry_list) mnt_set_expiry() argument 3443 struct mount *mnt, *next; mark_mounts_for_expiry() local 3492 struct mount *mnt = list_entry(tmp, struct mount, mnt_child); select_submounts() local 3527 shrink_submounts(struct mount *mnt) shrink_submounts() argument 3837 struct mount *mnt = real_mount(m); mount_subtree() local 3947 struct mount *mnt; SYSCALL_DEFINE3() local 4132 is_path_reachable(struct mount *mnt, struct dentry *dentry, const struct path *root) is_path_reachable() argument 4276 recalc_flags(struct mount_kattr *kattr, struct mount *mnt) recalc_flags() argument 4288 can_idmap_mount(const struct mount_kattr *kattr, struct mount *mnt) can_idmap_mount() argument 4335 mnt_allow_writers(const struct mount_kattr *kattr, const struct mount *mnt) mnt_allow_writers() argument 4343 mount_setattr_prepare(struct mount_kattr *kattr, struct mount *mnt) mount_setattr_prepare() argument 4392 do_idmap_mount(const struct mount_kattr *kattr, struct mount *mnt) do_idmap_mount() argument 4408 mount_setattr_commit(struct mount_kattr *kattr, struct mount *mnt) mount_setattr_commit() argument 4433 struct mount *mnt = real_mount(path->mnt); do_mount_setattr() local 4695 struct vfsmount *mnt; init_mount_tree() local 4768 struct vfsmount *mnt; kern_mount() local 4781 kern_unmount(struct vfsmount *mnt) kern_unmount() argument 4792 kern_unmount_array(struct vfsmount *mnt[], unsigned int num) kern_unmount_array() argument 4804 our_mnt(struct vfsmount *mnt) our_mnt() argument 4838 struct mount *mnt; mnt_already_visible() local 4925 mnt_may_suid(struct vfsmount *mnt) mnt_may_suid() argument [all...] |
H A D | pnode.c | 37 static struct mount *get_peer_under_root(struct mount *mnt, in get_peer_under_root() argument 41 struct mount *m = mnt; in get_peer_under_root() 45 if (m->mnt_ns == ns && is_path_reachable(m, m->mnt.mnt_root, root)) in get_peer_under_root() 49 } while (m != mnt); in get_peer_under_root() 60 int get_dominating_id(struct mount *mnt, const struct path *root) in get_dominating_id() argument 64 for (m = mnt->mnt_master; m != NULL; m = m->mnt_master) { in get_dominating_id() 65 struct mount *d = get_peer_under_root(m, mnt->mnt_ns, root); in get_dominating_id() 73 static int do_make_slave(struct mount *mnt) in do_make_slave() argument 77 if (list_empty(&mnt->mnt_share)) { in do_make_slave() 78 if (IS_MNT_SHARED(mnt)) { in do_make_slave() 122 change_mnt_propagation(struct mount *mnt, int type) change_mnt_propagation() argument 334 find_topper(struct mount *mnt) find_topper() argument 352 do_refcount_check(struct mount *mnt, int count) do_refcount_check() argument 407 propagate_mount_busy(struct mount *mnt, int refcnt) propagate_mount_busy() argument 450 propagate_mount_unlock(struct mount *mnt) propagate_mount_unlock() argument 465 umount_one(struct mount *mnt, struct list_head *to_umount) umount_one() argument 478 __propagate_umount(struct mount *mnt, struct list_head *to_umount, struct list_head *to_restore) __propagate_umount() argument 522 struct mount *mnt, *child, *tmp; umount_list() local 538 struct mount *mnt, *parent; restore_mounts() local 560 struct mount *mnt = cleanup_umount_visitations() local 575 struct mount *mnt; propagate_umount() local [all...] |
H 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) 17 #define IS_MNT_UNBINDABLE(m) ((m)->mnt.mnt_flags & MNT_UNBINDABLE) 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 in set_mnt_shared() [all...] |
H A D | proc_namespace.c | 64 static void show_mnt_opts(struct seq_file *m, struct vfsmount *mnt) in show_mnt_opts() argument 79 if (mnt->mnt_flags & fs_infop->flag) in show_mnt_opts() 83 if (is_idmapped_mnt(mnt)) in show_mnt_opts() 101 static int show_vfsmnt(struct seq_file *m, struct vfsmount *mnt) in show_vfsmnt() argument 104 struct mount *r = real_mount(mnt); in show_vfsmnt() 105 struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; in show_vfsmnt() 123 seq_puts(m, __mnt_is_readonly(mnt) ? " ro" : " rw"); in show_vfsmnt() 127 show_mnt_opts(m, mnt); in show_vfsmnt() 135 show_mountinfo(struct seq_file *m, struct vfsmount *mnt) show_mountinfo() argument 197 show_vfsstat(struct seq_file *m, struct vfsmount *mnt) show_vfsstat() argument [all...] |
H 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() 106 struct mount *m = __lookup_mnt(path->mnt, pat in __path_is_mountpoint() [all...] |
/kernel/linux/linux-5.10/fs/ |
H A D | namespace.c | 90 static inline struct hlist_head *m_hash(struct vfsmount *mnt, struct dentry *dentry) in m_hash() argument 92 unsigned long tmp = ((unsigned long)mnt / L1_CACHE_BYTES); in m_hash() 105 static int mnt_alloc_id(struct mount *mnt) in mnt_alloc_id() argument 111 mnt->mnt_id = res; in mnt_alloc_id() 115 static void mnt_free_id(struct mount *mnt) in mnt_free_id() argument 117 ida_free(&mnt_id_ida, mnt->mnt_id); in mnt_free_id() 123 static int mnt_alloc_group_id(struct mount *mnt) in mnt_alloc_group_id() argument 129 mnt->mnt_group_id = res; in mnt_alloc_group_id() 136 void mnt_release_group_id(struct mount *mnt) in mnt_release_group_id() argument 138 ida_free(&mnt_group_ida, mnt in mnt_release_group_id() 145 mnt_add_count(struct mount *mnt, int n) mnt_add_count() argument 159 mnt_get_count(struct mount *mnt) mnt_get_count() argument 177 struct mount *mnt = kmem_cache_zalloc(mnt_cache, GFP_KERNEL); alloc_vfsmnt() local 247 __mnt_is_readonly(struct vfsmount *mnt) __mnt_is_readonly() argument 253 mnt_inc_writers(struct mount *mnt) mnt_inc_writers() argument 262 mnt_dec_writers(struct mount *mnt) mnt_dec_writers() argument 271 mnt_get_writers(struct mount *mnt) mnt_get_writers() argument 287 mnt_is_readonly(struct vfsmount *mnt) mnt_is_readonly() argument 314 struct mount *mnt = real_mount(m); __mnt_want_write() local 375 mnt_clone_write(struct vfsmount *mnt) mnt_clone_write() argument 429 __mnt_drop_write(struct vfsmount *mnt) __mnt_drop_write() argument 444 mnt_drop_write(struct vfsmount *mnt) mnt_drop_write() argument 463 mnt_make_readonly(struct mount *mnt) mnt_make_readonly() argument 505 __mnt_unmake_readonly(struct mount *mnt) __mnt_unmake_readonly() argument 515 struct mount *mnt; sb_prepare_remount_readonly() local 549 free_vfsmnt(struct mount *mnt) free_vfsmnt() argument 566 struct mount *mnt; __legitimize_mnt() local 609 __lookup_mnt(struct vfsmount *mnt, struct dentry *dentry) __lookup_mnt() argument 662 mnt_is_cursor(struct mount *mnt) mnt_is_cursor() argument 685 struct mount *mnt; __is_local_mountpoint() local 791 check_mnt(struct mount *mnt) check_mnt() argument 821 unhash_mnt(struct mount *mnt) unhash_mnt() argument 837 umount_mnt(struct mount *mnt) umount_mnt() argument 845 mnt_set_mountpoint(struct mount *mnt, struct mountpoint *mp, struct mount *child_mnt) mnt_set_mountpoint() argument 857 __attach_mnt(struct mount *mnt, struct mount *parent) __attach_mnt() argument 867 attach_mnt(struct mount *mnt, struct mount *parent, struct mountpoint *mp) attach_mnt() argument 875 mnt_change_mountpoint(struct mount *parent, struct mountpoint *mp, struct mount *mnt) mnt_change_mountpoint() argument 893 commit_tree(struct mount *mnt) commit_tree() argument 952 struct mount *mnt; vfs_create_mount() local 993 struct vfsmount *mnt; vfs_kern_mount() local 1037 struct mount *mnt; clone_mnt() local 1099 cleanup_mnt(struct mount *mnt) cleanup_mnt() argument 1140 mntput_no_expire(struct mount *mnt) mntput_no_expire() argument 1208 mntput(struct vfsmount *mnt) mntput() argument 1220 mntget(struct vfsmount *mnt) mntget() argument 1271 struct mount *mnt, *ret = NULL; mnt_list_next() local 1309 struct mount *mnt = v; m_next() local 1318 struct mount *mnt = v; m_stop() local 1363 struct mount *mnt = real_mount(m); may_umount_tree() local 1398 may_umount(struct vfsmount *mnt) may_umount() argument 1448 disconnect_mount(struct mount *mnt, enum umount_tree_flags how) disconnect_mount() argument 1481 umount_tree(struct mount *mnt, enum umount_tree_flags how) umount_tree() argument 1560 do_umount(struct mount *mnt, int flags) do_umount() argument 1669 struct mount *mnt; __detach_mounts() local 1719 struct mount *mnt = real_mount(path->mnt); can_umount() local 1737 struct mount *mnt = real_mount(path->mnt); path_umount() local 1797 from_mnt_ns(struct mnt_namespace *mnt) from_mnt_ns() argument 1815 copy_tree(struct mount *mnt, struct dentry *dentry, int flag) copy_tree() argument 1900 dissolve_on_fput(struct vfsmount *mnt) dissolve_on_fput() argument 1918 drop_collected_mounts(struct vfsmount *mnt) drop_collected_mounts() argument 1927 has_locked_children(struct mount *mnt, struct dentry *dentry) has_locked_children() argument 1985 struct mount *mnt; iterate_mounts() local 1997 lock_mnt_tree(struct mount *mnt) lock_mnt_tree() argument 2024 cleanup_group_ids(struct mount *mnt, struct mount *end) cleanup_group_ids() argument 2034 invent_group_ids(struct mount *mnt, bool recurse) invent_group_ids() argument 2051 count_mounts(struct mnt_namespace *ns, struct mount *mnt) count_mounts() argument 2227 struct vfsmount *mnt; lock_mount() local 2266 graft_tree(struct mount *mnt, struct mount *p, struct mountpoint *mp) graft_tree() argument 2301 struct mount *mnt = real_mount(path->mnt); do_change_type() local 2332 struct mount *mnt = ERR_PTR(-EINVAL), *old = real_mount(old_path->mnt); __do_loopback() local 2361 struct mount *mnt = NULL, *parent; do_loopback() local 2407 struct mount *mnt, *p; open_detached_copy() local 2499 can_change_locked_flags(struct mount *mnt, unsigned int mnt_flags) can_change_locked_flags() argument 2526 change_mount_ro_state(struct mount *mnt, unsigned int mnt_flags) change_mount_ro_state() argument 2543 set_mount_attributes(struct mount *mnt, unsigned int mnt_flags) set_mount_attributes() argument 2552 mnt_warn_timestamp_expiry(struct path *mountpoint, struct vfsmount *mnt) mnt_warn_timestamp_expiry() argument 2582 struct mount *mnt = real_mount(path->mnt); do_reconfigure_mnt() local 2615 struct mount *mnt = real_mount(path->mnt); do_remount() local 2655 tree_contains_unbindable(struct mount *mnt) tree_contains_unbindable() argument 2826 struct vfsmount *mnt; do_new_mount_fc() local 2923 struct mount *mnt; finish_automount() local 2994 mnt_set_expiry(struct vfsmount *mnt, struct list_head *expiry_list) mnt_set_expiry() argument 3011 struct mount *mnt, *next; mark_mounts_for_expiry() local 3060 struct mount *mnt = list_entry(tmp, struct mount, mnt_child); select_submounts() local 3095 shrink_submounts(struct mount *mnt) shrink_submounts() argument 3404 struct mount *mnt = real_mount(m); mount_subtree() local 3484 struct mount *mnt; SYSCALL_DEFINE3() local 3676 is_path_reachable(struct mount *mnt, struct dentry *dentry, const struct path *root) is_path_reachable() argument 3822 struct vfsmount *mnt; init_mount_tree() local 3895 struct vfsmount *mnt; kern_mount() local 3908 kern_unmount(struct vfsmount *mnt) kern_unmount() argument 3919 kern_unmount_array(struct vfsmount *mnt[], unsigned int num) kern_unmount_array() argument 3932 our_mnt(struct vfsmount *mnt) our_mnt() argument 3966 struct mount *mnt; mnt_already_visible() local 4053 mnt_may_suid(struct vfsmount *mnt) mnt_may_suid() argument [all...] |
H A D | pnode.c | 37 static struct mount *get_peer_under_root(struct mount *mnt, in get_peer_under_root() argument 41 struct mount *m = mnt; in get_peer_under_root() 45 if (m->mnt_ns == ns && is_path_reachable(m, m->mnt.mnt_root, root)) in get_peer_under_root() 49 } while (m != mnt); in get_peer_under_root() 60 int get_dominating_id(struct mount *mnt, const struct path *root) in get_dominating_id() argument 64 for (m = mnt->mnt_master; m != NULL; m = m->mnt_master) { in get_dominating_id() 65 struct mount *d = get_peer_under_root(m, mnt->mnt_ns, root); in get_dominating_id() 73 static int do_make_slave(struct mount *mnt) in do_make_slave() argument 77 if (list_empty(&mnt->mnt_share)) { in do_make_slave() 78 if (IS_MNT_SHARED(mnt)) { in do_make_slave() 122 change_mnt_propagation(struct mount *mnt, int type) change_mnt_propagation() argument 336 find_topper(struct mount *mnt) find_topper() argument 354 do_refcount_check(struct mount *mnt, int count) do_refcount_check() argument 369 propagate_mount_busy(struct mount *mnt, int refcnt) propagate_mount_busy() argument 412 propagate_mount_unlock(struct mount *mnt) propagate_mount_unlock() argument 427 umount_one(struct mount *mnt, struct list_head *to_umount) umount_one() argument 440 __propagate_umount(struct mount *mnt, struct list_head *to_umount, struct list_head *to_restore) __propagate_umount() argument 484 struct mount *mnt, *child, *tmp; umount_list() local 500 struct mount *mnt, *parent; restore_mounts() local 522 struct mount *mnt = cleanup_umount_visitations() local 537 struct mount *mnt; propagate_umount() local [all...] |
H 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) 17 #define IS_MNT_UNBINDABLE(m) ((m)->mnt.mnt_flags & MNT_UNBINDABLE) 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 in set_mnt_shared() [all...] |
H A D | mount.h | 44 struct vfsmount mnt; member 85 static inline struct mount *real_mount(struct vfsmount *mnt) in real_mount() argument 87 return container_of(mnt, struct mount, mnt); in real_mount() 90 static inline int mnt_has_parent(struct mount *mnt) in mnt_has_parent() argument 92 return mnt != mnt->mnt_parent; in mnt_has_parent() 95 static inline int is_mounted(struct vfsmount *mnt) in is_mounted() argument 98 return !IS_ERR_OR_NULL(real_mount(mnt)->mnt_ns); in is_mounted() 108 struct mount *m = __lookup_mnt(path->mnt, pat in __path_is_mountpoint() [all...] |
H A D | proc_namespace.c | 64 static void show_mnt_opts(struct seq_file *m, struct vfsmount *mnt) in show_mnt_opts() argument 79 if (mnt->mnt_flags & fs_infop->flag) in show_mnt_opts() 98 static int show_vfsmnt(struct seq_file *m, struct vfsmount *mnt) in show_vfsmnt() argument 101 struct mount *r = real_mount(mnt); in show_vfsmnt() 102 struct path mnt_path = { .dentry = mnt->mnt_root, .mnt = mnt }; in show_vfsmnt() 120 seq_puts(m, __mnt_is_readonly(mnt) ? " ro" : " rw"); in show_vfsmnt() 124 show_mnt_opts(m, mnt); in show_vfsmnt() 132 static int show_mountinfo(struct seq_file *m, struct vfsmount *mnt) in show_mountinfo() argument 194 show_vfsstat(struct seq_file *m, struct vfsmount *mnt) show_vfsstat() argument [all...] |
H 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() [all...] |
/kernel/linux/linux-5.10/kernel/ |
H 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() 29 file = file_open_root_mnt(mnt, name, O_CREAT | O_WRONLY, 0700); 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 64 if (WARN_ON_ONCE(info->wd.dentry || info->wd.mnt)) in umd_load_blob() [all...] |
/kernel/linux/linux-6.6/kernel/ |
H 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() 29 file = file_open_root_mnt(mnt, name, O_CREAT | O_WRONLY, 0700); in blob_to_mnt() 31 kern_unmount(mnt); in blob_to_mnt() 41 kern_unmount(mnt); in blob_to_mnt() 50 return mnt; in blob_to_mnt() 62 struct vfsmount *mnt; in umd_load_blob() local 64 if (WARN_ON_ONCE(info->wd.dentry || info->wd.mnt)) in umd_load_blob() [all...] |
/kernel/linux/linux-5.10/tools/lib/api/fs/ |
H 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() 50 __tracing_path_set("tracing/", mnt); in tracing_path_debugfs_mount() 57 const char *mnt; in tracing_path_mount() local 59 mnt in tracing_path_mount() [all...] |
/kernel/linux/linux-6.6/tools/lib/api/fs/ |
H A D | tracing_path.c | 26 const char *mnt; in tracing_path_tracefs_mount() local 28 mnt = tracefs__mount(); in tracing_path_tracefs_mount() 29 if (!mnt) in tracing_path_tracefs_mount() 32 __tracing_path_set("", mnt); in tracing_path_tracefs_mount() 39 const char *mnt; in tracing_path_debugfs_mount() local 41 mnt = debugfs__mount(); in tracing_path_debugfs_mount() 42 if (!mnt) in tracing_path_debugfs_mount() 45 __tracing_path_set("tracing/", mnt); in tracing_path_debugfs_mount() 52 const char *mnt; in tracing_path_mount() local 54 mnt in tracing_path_mount() [all...] |
/kernel/liteos_a/fs/vfs/ |
H A D | mount.c | 49 struct Mount *mnt = (struct Mount *)zalloc(sizeof(struct Mount));
in MountAlloc() local 50 if (mnt == NULL) {
in MountAlloc() 55 LOS_ListInit(&mnt->activeVnodeList);
in MountAlloc() 56 LOS_ListInit(&mnt->vnodeList);
in MountAlloc() 58 mnt->vnodeBeCovered = vnodeBeCovered;
in MountAlloc() 59 vnodeBeCovered->newMount = mnt;
in MountAlloc() 62 (VOID)HiRandomHwGetInteger(&mnt->hashseed);
in MountAlloc() 65 mnt->hashseed = (uint32_t)random();
in MountAlloc() 67 return mnt;
in MountAlloc()
|
/kernel/linux/linux-6.6/include/linux/ |
H A D | mount.h | 77 static inline struct mnt_idmap *mnt_idmap(const struct vfsmount *mnt) in mnt_idmap() argument 80 return smp_load_acquire(&mnt->mnt_idmap); in mnt_idmap() 83 extern int mnt_want_write(struct vfsmount *mnt); 85 extern void mnt_drop_write(struct vfsmount *mnt); 87 extern void mntput(struct vfsmount *mnt); 88 extern struct vfsmount *mntget(struct vfsmount *mnt); 89 extern void mnt_make_shortterm(struct vfsmount *mnt); 91 extern bool __mnt_is_readonly(struct vfsmount *mnt); 92 extern bool mnt_may_suid(struct vfsmount *mnt); 107 extern void mnt_set_expiry(struct vfsmount *mnt, struc [all...] |
/kernel/linux/linux-5.10/security/tomoyo/ |
H A D | tomoyo.c | 116 * @mnt: Pointer to "struct vfsmount". 148 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_unlink() 165 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_mkdir() 181 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_rmdir() 198 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_symlink() 216 struct path path = { .mnt in tomoyo_path_mknod() 405 tomoyo_sb_umount(struct vfsmount *mnt, int flags) tomoyo_sb_umount() argument [all...] |
/kernel/linux/linux-6.6/security/tomoyo/ |
H A D | tomoyo.c | 159 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_unlink() 176 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_mkdir() 192 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_rmdir() 209 struct path path = { .mnt = parent->mnt, .dentry = dentry }; in tomoyo_path_symlink() 227 struct path path = { .mnt = parent->mnt, in tomoyo_path_mknod() 424 tomoyo_sb_umount(struct vfsmount *mnt, int flags) tomoyo_sb_umount() argument [all...] |
/kernel/linux/linux-5.10/fs/autofs/ |
H A D | expire.c | 29 static int autofs_mount_busy(struct vfsmount *mnt, in autofs_mount_busy() argument 33 struct path path = {.mnt = mnt, .dentry = dentry}; in autofs_mount_busy() 58 if (!may_umount_tree(path.mnt)) { in autofs_mount_busy() 150 static int autofs_direct_busy(struct vfsmount *mnt, in autofs_direct_busy() argument 162 if (!may_umount_tree(mnt)) { in autofs_direct_busy() 182 static int autofs_tree_busy(struct vfsmount *mnt, in autofs_tree_busy() argument 207 if (autofs_mount_busy(mnt, p, how)) { in autofs_tree_busy() 241 static struct dentry *autofs_check_leaves(struct vfsmount *mnt, in autofs_check_leaves() argument 256 if (autofs_mount_busy(mnt, in autofs_check_leaves() 274 autofs_expire_direct(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, unsigned int how) autofs_expire_direct() argument 321 should_expire(struct dentry *dentry, struct vfsmount *mnt, unsigned long timeout, unsigned int how) should_expire() argument 420 autofs_expire_indirect(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, unsigned int how) autofs_expire_indirect() argument 536 autofs_expire_run(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, struct autofs_packet_expire __user *pkt_p) autofs_expire_run() argument 575 autofs_do_expire_multi(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, unsigned int how) autofs_do_expire_multi() argument 611 autofs_expire_multi(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, int __user *arg) autofs_expire_multi() argument [all...] |
/kernel/linux/linux-6.6/fs/autofs/ |
H A D | expire.c | 29 static int autofs_mount_busy(struct vfsmount *mnt, in autofs_mount_busy() argument 33 struct path path = {.mnt = mnt, .dentry = dentry}; in autofs_mount_busy() 58 if (!may_umount_tree(path.mnt)) { in autofs_mount_busy() 150 static int autofs_direct_busy(struct vfsmount *mnt, in autofs_direct_busy() argument 162 if (!may_umount_tree(mnt)) { in autofs_direct_busy() 182 static int autofs_tree_busy(struct vfsmount *mnt, in autofs_tree_busy() argument 207 if (autofs_mount_busy(mnt, p, how)) { in autofs_tree_busy() 241 static struct dentry *autofs_check_leaves(struct vfsmount *mnt, in autofs_check_leaves() argument 256 if (autofs_mount_busy(mnt, in autofs_check_leaves() 274 autofs_expire_direct(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, unsigned int how) autofs_expire_direct() argument 321 should_expire(struct dentry *dentry, struct vfsmount *mnt, unsigned long timeout, unsigned int how) should_expire() argument 420 autofs_expire_indirect(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, unsigned int how) autofs_expire_indirect() argument 536 autofs_expire_run(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, struct autofs_packet_expire __user *pkt_p) autofs_expire_run() argument 575 autofs_do_expire_multi(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, unsigned int how) autofs_do_expire_multi() argument 611 autofs_expire_multi(struct super_block *sb, struct vfsmount *mnt, struct autofs_sb_info *sbi, int __user *arg) autofs_expire_multi() argument [all...] |
/kernel/linux/linux-5.10/tools/bpf/bpftool/ |
H 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() 90 /* The string from fscanf() might be truncated, check mnt is valid */ in get_tracefs_pipe() 91 if (found && validate_tracefs_mnt(mnt, TRACEFS_MAGIC)) in get_tracefs_pipe() 103 strcpy(mnt, known_mnt in get_tracefs_pipe() [all...] |
/kernel/linux/linux-6.6/tools/bpf/bpftool/ |
H 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() 90 /* The string from fscanf() might be truncated, check mnt is valid */ in get_tracefs_pipe() 91 if (found && validate_tracefs_mnt(mnt, TRACEFS_MAGIC)) in get_tracefs_pipe() 103 strcpy(mnt, known_mnt in get_tracefs_pipe() [all...] |
/kernel/linux/linux-6.6/fs/exportfs/ |
H A D | expfs.c | 27 static int exportfs_get_name(struct vfsmount *mnt, struct dentry *dir, in exportfs_get_name() argument 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() 148 tmp = lookup_one_unlocked(mnt_idmap(mnt), nbuf, parent, strlen(nbuf)); in reconnect_one() 212 reconnect_path(struct vfsmount *mnt, struct dentry *target_dir, char *nbuf) in reconnect_path() argument 219 BUG_ON(dentry == mnt in reconnect_path() 446 exportfs_decode_fh_raw(struct vfsmount *mnt, struct fid *fid, int fh_len, int fileid_type, int (*acceptable)(void *, struct dentry *), void *context) exportfs_decode_fh_raw() argument 594 exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid, int fh_len, int fileid_type, int (*acceptable)(void *, struct dentry *), void *context) exportfs_decode_fh() argument [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | mount.h | 80 extern int mnt_want_write(struct vfsmount *mnt); 82 extern int mnt_clone_write(struct vfsmount *mnt); 83 extern void mnt_drop_write(struct vfsmount *mnt); 85 extern void mntput(struct vfsmount *mnt); 86 extern struct vfsmount *mntget(struct vfsmount *mnt); 88 extern bool __mnt_is_readonly(struct vfsmount *mnt); 89 extern bool mnt_may_suid(struct vfsmount *mnt); 106 extern void mnt_set_expiry(struct vfsmount *mnt, struct list_head *expiry_list); 115 extern void kern_unmount_array(struct vfsmount *mnt[], unsigned int num);
|