路径名解析过程使用到的各种hash函数
来源:互联网 发布:淘宝运费模板在哪设置 编辑:程序博客网 时间:2024/06/08 13:30
d_hash(dentry,hash) 为散列函数 , 它将 dentry 地址和 hash 值相组合 , 映射到 dentry_hashtable 表中 , 返回相应的散列链 ;
在底层文件系统的i_op中也有一个同名的d_hash函数,这个函数仅用来计算目录项对应的散列值;
d_rehash(dentry) 将 dentry 加入散列表 ;
d_drop(dentry) 将 dentry 从散列表中删除 ;
d_lookup(dentry,qstr) 在散列中找出以 dentry 作为父目录项 , 名称为 qstr 的目录项,他实际上是下面的__d_lookup函数的封装函数
路径名解析:
do_lookup()(该函数是在link_path_walk函数中for循环的查找操作)—>__d_lookup(dentry,qstr)在散列表中查找制定的目录项
real_lookup(dentry,qstr,nameidata)在缓存中无法找到指定的目录项,那就创建该目录项,通过底层文件系统函数lookup从磁盘读,lookup在读目录项的过程中,也把该目录项对应的inode结构从磁盘读出来,并赋值给dentry的d_inode字段;
lookup_hash(&nd)->__lookup_hash(qstr,dentry,nameidata) 首先在缓存中查找指定的目录项,如果不存储在,就创建一个新的目录项,并调用底层文件系统i_op中的lookup函数从磁盘读取该目录项,如果lookup函数没有在磁盘找到对应的dentry,就把新建的dentry返回,此时lookup_hash函数还没有建立该目录项对应的inode结构,这是通过继续调用open_namei_creat()—>vfs_creat()->i_op->creat()来创建的
- 路径名解析过程使用到的各种hash函数
- 全面解析hash函数的各种应用(持续更新)
- 存储过程中用到的各种函数学习(一)
- denry相关的各种hash函数
- 字符串的各种hash函数对比
- 各种字符串hash函数的效果对比
- Linux虚拟文件系统--文件路径名的解析(1)--整体过程
- 各种字符串Hash函数
- 各种字符串HASH函数
- 各种hash函数
- 各种字符串Hash函数
- 各种字符串Hash函数
- 各种字符串hash函数
- 各种字符串Hash函数
- 各种字符串Hash函数
- 各种字符串Hash函数
- 各种字符串Hash函数
- 各种hash 函数
- oc学习之旅:文件操作
- 图像处理(卷积)
- 设计模式中类的关系
- Drawing an XNA Model bounding box
- 物联网时代的空间实时数据应用
- 路径名解析过程使用到的各种hash函数
- DatabaseLink的问题
- UNIX/Linux的传奇历史
- python书籍大共享,百度云哦,全部都是干货。
- 纪念我的小宝贝——浪浪
- Java自学--IO操作(4) 打印流
- php 正则 笔记以 及反向引用的实践
- Linux中JDK1.5.0.22(32位)的安装、配置与卸载
- Android SharedPreferences 存储复杂对象