denry相关的各种hash函数

news/2024/7/5 20:02:26

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()来创建的



http://www.niftyadmin.cn/n/3060825.html

相关文章

docker环境部署postgres版本nacos

1、docker安装postgres 执行命令:docker pull postgres 拉取最新版postgres 2、查看postgres镜像是否安装成功: docker imags(查看镜像),可以看到已经拉取到了最新版本 的postgres镜像 3、编辑一个docker-compose.yml文件,账号是postgres&a…

如何勾引马云、马化腾花钱买你公司?

在互联网领域创业,有句调侃要么被BAT收购,要么老死众生。把公司卖给BAT,尤其是的当下拼命收购的阿里腾讯,几乎成了很多互联网创业公司的命数。那么,对那些渴望被投资或被买走的创业者,究竟怎样才能引起马云…

dentry数据组织与相关操作

Linux用数据结构dentry来描述fs中与某个文件索引节点相链接的一个目录项(可以是文件,也可以是目录)。   每个dentry对象都属于下列几种状态之一:   (1)未使用(unused)状态:该dentry对象的引用计数d_cou…

mysql性能瓶颈分析、性能指标、指标搜集方法与性能分析调优工具【转】

本文主要讲解mysql的性能瓶颈分析、性能指标、性能指标信息的搜集工具与方法、分析调优工具的使用。 文章尚未完成。 性能瓶颈: 慢、写速度比读速度慢很多 主要的性能指标: 访问频度, 并发连接量, 缓存命中率, index…

断开网线黑客也能盗走你的数据

一旦电脑感染病毒或者木马,一般人首先想到“先断开网线”,避免机密数据通过上网通道被窃走。不过根据安全专家的研究,即使是断开网线的“PC孤岛”,黑客也能利用电磁波等技术,“隔空”盗走数据。 以色列Ben-Gurion大学的…

freqz()

实函数的傅里叶变换的幅度谱是偶函数,其相位谱为奇函数。这一特性在信号分析中得到广泛应用。 离散系统频响特性的函数freqz()[H,W ] freqz(b,a,n)返回量H则包含了离散系统频响在 0~pi范围内N个频率等分点…

Linux Namespaces机制

Linux Namespaces机制提供一种资源隔离方案。PID,IPC,Network等系统资源不再是全局性的,而是属于特定的Namespace。每个Namespace里面的资源对其他Namespace都是透明的。要创建新的Namespace,只需要在调用clone时指定相应的flag。Linux Namespaces机制为…

10个实用的UX设计作品推销小窍门

2019独角兽企业重金招聘Python工程师标准>>> 以下内容由Mockplus(摹客)团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具。 众所周知,产品用户体验很重要,即使是Google也知道这一…