以ext3为例,dentry的d_hash函数指针如何调用到d_hash函数
时间: 2024-05-25 22:15:21 浏览: 107
vfs_syscalls.rar_V2
在Ext3文件系统中,dentry结构体中的d_hash成员指向了一个函数指针,该函数用于计算dentry节点的哈希值。这个函数指针的类型为“unsigned int (*d_hash)(const struct dentry *, const struct inode *, const struct qstr *)”,它接收三个参数,分别是dentry节点、inode节点和qstr结构体指针。
当需要计算dentry节点的哈希值时,系统会调用d_hash函数指针所指向的函数。在Ext3文件系统中,d_hash函数指针最终会指向函数ext3_d_hash,该函数的定义在文件fs/ext3/namei.c中。在这个函数中,会使用dentry节点的名称和父节点的inode号码来计算一个哈希值,并返回该哈希值。
因此,在Ext3文件系统中,当需要计算dentry节点的哈希值时,系统会首先调用dentry结构体中的d_hash函数指针,该指针最终会指向函数ext3_d_hash,通过该函数计算dentry节点的哈希值并返回。
阅读全文