linux dentry 存储,dentry与dentry_cache
dentry只存在于内存中,存放在名为dentry_cache的slab分配器高速缓存中
dentry_cache简称dcache,中文名称是目录项高速缓存,是Linux为了提高目录项对象的处理效率而设计的。它主要由两个数据结构组成:
1、哈希链表dentry_hashtable:dcache中的所有dentry对象都通过d_hash指针域链到相应的dentry哈希链表中。
2、未使用的dentry对象链表dentry_unused:dcache中所有处于unused状态和negative状态的dentry对象都通过其d_lru指针域链入dentry_unused链表中。该链表也称为LRU链表。
目录项高速缓存dcache是索引节点缓存icache的主控器(master),也即dcache中的dentry对象控制着icache中的inode对象的生命期转换。无论何时,只要一个目录项对象存在于dcache中(非negative状态),则相应的inode就将总是存在,因为 inode的引用计数i_count总是大于0。当dcache中的一个dentry被释放时,针对相应inode对象的iput()方法就会被调用。
怎样从inode值得到目录名?
函数得到当前文件或目录的inode值后,进入dcache查找对应的dentry,然后顺着父目录指针d_parent得到父目录的dentry,这样逐级向上直到dentry = root,就得到全部目录名称。
linux dentry 存储,dentry与dentry_cache相关推荐
- Linux系统存储交换机日志
Linux系统存储交换机日志 日志记录是为系统设备在运行过程中报告其运行情况而设的, 为了保证系统正常运行, 解决每一天可能遇到的各种各样的问题, 网络管理员必须认真地读取日志记录.目前公司系 ...
- ceph存储原理_赠书 | Linux 开源存储全栈详解——从Ceph到容器存储
// 留言点赞赠书我有书,你有故事么?留言说出你的存储故事留言点赞前两名,免费送此书截止日期12.27号12.30号公布名单 // 内容简介 本书致力于帮助读者形成有关Linux开源存储世界的细致的拓 ...
- Linux系统存储之LVM
Linux系统存储之LVM 1.lvm存在意义及名词解释 - lvm存在意义: 解决存储容量的问题: - 图解lvm如何解决存储容量的问题 - 名词解释 2.lvm的建立 pvcreate----&g ...
- Linux开源存储全栈详解:从Ceph到容器存储
内容简介 本书致力于帮助读者形成有关Linux开源存储世界的细致的拓扑,从存储硬件.Linux存储堆栈.存储加速.存储安全.存储管理.分布式存储.云存储等各个角度与层次展开讨论,同时对处于主导地位的. ...
- Linux 磁盘- 存储
目录 原笔记链接(推荐看这个) Linux 磁盘| 存储 存储介质的概念 单位概念 Linux文件系统 Linux系统结构 Linux磁盘路径与命名规则 Linux磁盘命令规则 Linux分区命名 L ...
- Linux中存储设备的命名规则
Linux中存储设备的命名规则 1.以设备名命名 linux对IDE设备以hd命名 linux对SCSI设备以sd命名 2.以分区命名 例如:第一块IDE设备接口磁盘的第 1 个分区地址为 /dev/ ...
- Linux存储自定义sn方案,linux的存储搭建
1.首先建立raid 5: mdadm --create --auto=yes /dev/md[0-9] --raid-device=N --level=[015] --spare-device=N ...
- 获取服务器保存图片的位置,linux服务器存储图片路径
linux服务器存储图片路径 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 如 ...
- 怎么修改服务器图片存储路径,linux服务器存储图片路径
linux服务器存储图片路径 内容精选 换一换 本节操作介绍在Windows和Linux环境中使用SSH密钥对方式登录Linux裸金属服务器的操作步骤.裸金属服务器状态必须为"运行中&quo ...
最新文章
- 肠里细菌“肚里蛔虫”:肠脑研究缘何越来越热
- 67.数据库系统的三级模式
- pycharm 怎么对代码进行性能分析,消耗时间time (Run -- Profile 'xxxx')
- Swift之深入解析如何自定义操作符
- Solr-4.10.2安装
- 下面可提供安全电子邮件服务的是()【最全!最详细解析!!】
- 【转】4.2使用jQuery.form插件,实现完美的表单异步提交
- 面向对象语言的技术特点
- linux生成大文件
- 快速排序思路(挖坑版),代码实现
- keil内存溢出表现_详细讲解C语言五大内存分区与可执行程序的三段(Text段、Date段、Bss段)【建议收藏】...
- Ajax请求中async属性
- Oracle_视图_索引_plsql_游标_存储过程_存储函数_触发器
- 我不应该用计算机做题,中考答题涂卡必须用2B铅笔,看到电脑扫描的试卷,才明白有多重要...
- 中国移动企业文化考试试题含答案
- 中华文字改革第一人——仓颉
- JAVA共享图片管理系统毕业设计 开题报告.
- 研发项目wbs分解简单案例_工程项目管理之WBS分解实例(五篇模版)
- 大学英语 unit 2 第五题
- Python学习Day01
热门文章
- 狂潮微课表示-怎么做免费的百度爱采购推广
- asp.net使用httphandler打包多CSS或JS文件以加快页面加载速度
- .Net读取XP文件夹中的Thumbs.db文件
- CWDM/DWDM是城域网最好的选择吗?
- 部署SD-WAN后网络安全挑战仍然存在—Vecloud
- sql根据某个字段拼接另外字段
- [USACO1.4]等差数列 Arithmetic Progressions
- 关于打印机共享的注意事项——又被叫去修电脑了
- vue init深度定制团队自己的Vue template
- Swift中GCD与NSOperation相关