LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 829|回复: 4

问个简单的关于inode的问题

[复制链接]
发表于 2005-4-28 23:13:49 | 显示全部楼层 |阅读模式
1.
下面是ext2_dir_entry_2的结构,其中包含了inode number
为什么要在file和inode之间插进一个dentry呢?
其实dentry里面包含的信息并不多,怎么不放到inode里面算了
struct ext2_dir_entry_2 {
        __u32        inode;                        /* Inode number */
        __u16        rec_len;                /* Directory entry length */
        __u8        name_len;                /* Name length */
        __u8        file_type;
        char        name[EXT2_NAME_LEN];        /* File name */
};
2. 在打开一个字符设备文件时file的fop是从inode的i_fop得到的
那么inode的i_fop是在哪儿初始化的呢?
找起来有些困难 对我来说 :-)
发表于 2005-4-29 03:46:30 | 显示全部楼层
dentry == dir entry
就是目录项
换言之,就是目录的组成部分
目录就是特殊的文件,它里面就是一个一个的dentry
你把dentry放到inode里,目录存在有何意义

舍本逐末阿
把APUE看一边再看kernel吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-29 13:03:15 | 显示全部楼层
让你见笑了
正因为对dentry不是很了解
从一个旁观者的角度来看,
在文件被打开,inode被load进内存后dentry还有多大的用处
回复 支持 反对

使用道具 举报

发表于 2005-4-29 13:16:31 | 显示全部楼层
第一个问题:
file表示文件和进程之间关系
inode表示文件和和文件系统之间的关系
dentry表示文件之间的逻辑关系。每一个文件都有一个dentry,dentry之间的关系表示文件之间的关系。其实是一个树性的关系。
第二个问题:
是在打开设备文件的inode节点时,注册的具体文件操作函数。
大致就是inode->i_fop=&ext3XXXXXX类似的东西
回复 支持 反对

使用道具 举报

发表于 2005-4-29 16:05:17 | 显示全部楼层
Post by jequi
让你见笑了
正因为对dentry不是很了解
从一个旁观者的角度来看,
在文件被打开,inode被load进内存后dentry还有多大的用处

看apue
里面有一节讲给定一个绝对路径,怎么样从"/" (inode number 为 2)找到这个路径所指定的文件/文件夹
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表