如何在vfs层检查linux内核文件对象是用于目录还是文件?
我发现有一个名为is_dx(dir)
的函数会对此进行检查,但它会出现在namei.c
或ext3
的{{1}}中。我需要在 vfs层执行此操作独立于文件系统。
答案 0 :(得分:2)
S_ISDIR()
中定义的include/linux/stat.h
宏怎么样?需要inode->i_mode
字段来检查有问题的inode是否属于目录或文件。
答案 1 :(得分:0)
拥有初始目录的inode,代码
检查与第一个名称匹配的条目以获取
对应的inode。
q然后从磁盘和
读取具有该节点的目录文件检查匹配第二个名称的条目以导出
对应的inode。
q对路径中包含的每个名称重复此过程。
dentry缓存大大加快了程序的速度
文件系统操作主要在dcache级别完成,所以
他们都在内核锁定下。