【问题标题】:How to check in linux kernel at vfs layer whether the file object is for a directory or a file如何在vfs层检查linux内核文件对象是目录还是文件
【发布时间】:2012-04-16 05:09:58
【问题描述】:

如何在vfs层检查linux内核文件对象是目录还是文件?

我发现有一个名为is_dx(dir) 的函数会检查这个,但它存在于ext3ext4namei.c 中。我需要在独立于文件系统的 vfs 层 执行此操作。

【问题讨论】:

    标签: linux filesystems kernel vfs


    【解决方案1】:

    include/linux/stat.h 中定义的S_ISDIR() 宏怎么样?它需要inode->i_mode 字段来检查有问题的inode 是否属于目录或文件。

    【讨论】:

      【解决方案2】:

      手头有初始目录的inode,代码

      检查与名字匹配的条目以获取

      对应的inode。

      q 然后从磁盘读取具有该节点的目录文件并

      检查匹配第二个名称的条目以导出

      对应的inode。

      q 对路径中包含的每个名称重复此过程。

      dentry 缓存大大加快了进程

      文件系统操作大多在dcache级别完成,所以

      它们都处于内核锁定之下。

      【讨论】:

        猜你喜欢
        • 2015-06-01
        • 1970-01-01
        • 2011-05-31
        • 2011-04-20
        • 2018-12-18
        • 1970-01-01
        • 2013-03-15
        • 1970-01-01
        • 2011-12-26
        相关资源
        最近更新 更多