/proc/[pid]/ns/mnt 是如何在内核中被 clone 创建的?
How is /proc/[pid]/ns/mnt created by clone in kernel?
我知道 clone
函数创建 /proc/[pid]/ns/mnt
link。但是我找不到它在哪里调用类似 proc_mkdir
的东西来创建这样的目录。
clone()
不会在 /proc
.
中创建任何内容
当您打开 /proc/[pid]/ns/mnt
时,VFS 中的路径查找逻辑找到 /proc
,然后到达 proc_root_lookup()
。
从那里它转到 proc_pid_lookup()
到 proc_pid_instantiate()
,它通过 proc_pid_make_inode()
为 /proc/[pid]
动态创建一个 in-memory 目录 inode。
我知道 clone
函数创建 /proc/[pid]/ns/mnt
link。但是我找不到它在哪里调用类似 proc_mkdir
的东西来创建这样的目录。
clone()
不会在 /proc
.
当您打开 /proc/[pid]/ns/mnt
时,VFS 中的路径查找逻辑找到 /proc
,然后到达 proc_root_lookup()
。
从那里它转到 proc_pid_lookup()
到 proc_pid_instantiate()
,它通过 proc_pid_make_inode()
为 /proc/[pid]
动态创建一个 in-memory 目录 inode。