- 论坛徽章:
- 4
|
10可用积分
from 3.7.0- /*
- * Skip to top of mountpoint pile in refwalk mode for follow_dotdot()
- */
- static void follow_mount(struct path *path)
- {
- while (d_mountpoint(path->dentry)) {
- struct vfsmount *mounted = lookup_mnt(path);
- if (!mounted)
- break;
- dput(path->dentry);
- mntput(path->mnt);
- path->mnt = mounted;
- path->dentry = dget(mounted->mnt_root);<----------此处的赋值是否不变?
- }
- }
复制代码 可以多个fs挂载到同一个目录, 所以此处的dentry是否不变?
查了下挂载时的操作, 貌似没有生成新的dentry...
不明白啊, 请指点, 谢谢!
|
最佳答案
查看完整内容
不变是什么意思? 不明白但这段代码大概我明白是什么意思, path->dentry 是一个挂载点, 想要向下走到挂载到这个挂载点的设备上吧? 你问的是不是如果多个设备挂载到同一个挂载点, 那么这里向下走到的会不会永远是其中某一个设备?多个设备是可以挂载到同一个目录, 这里有两个不同的分支:1. 设备A挂载到该挂载点, 设备B挂载到设备A的根目录, 设备C挂载到设备B的根目录, 外边看起来, 其实 A,B隐藏了, 似乎是设备C直接挂载 ...
|