Namei-路径解析
namei (Name-to-Inode) 函数负责将路径字符串 "/a/b/c" 解析为最终的 Inode。
步进解析 (Hand-over-Hand Locking)
- 从 Root Inode (
/) 开始。 - 锁定当前目录 Inode (
ip)。 - 在
ip中查找下一级名字(如 “a”)。 - 获取 “a” 的 Inode (
next). - 解锁
ip,锁定next,将next设为当前ip。 - 重复直到路径结束。
为什么这么麻烦?
为了并发安全。在一个长路径解析过程中,必须要一步一锁,不能长期持有一个锁,否则会阻塞其他进程访问父目录。