
文件系统(File Systems)
文章平均质量分 79
nofrish
这个作者很懒,什么都没留下…
展开
-
ZFS源代码之旅——ZAP模块分析(二)
0. 引言上一篇文章中,我们已经了解了ZAP对象的两种类型(microzap和fatzap)是如何在磁盘上存放的。从本文开始,我们将进一步探索这两种ZAP在内存中的组织方式,它们对上层提供的接口,以及它们函数内部的实现。本文主要介绍相对简单的microzap的实现方式。本文按照以下方式组织:1. 首先详细描述microzap在内存中的组织方式和它在内存中定义的结构;2. 介绍Z原创 2012-04-19 21:05:40 · 5275 阅读 · 3 评论 -
ZFS源代码之旅——ZAP模块分析(一)
0. 背景介绍该内容主要来自于《ZFS On-Disk Specification》一书的第5章,其中部分内容依据ZFS代码有所更新。ZAP(ZFS Attribute Process)模块位于DMU模块之上,用来对ZAP对象进行操作。ZFS通过ZAP对象来存储名字值对(name-value pairs)形式的属性,该属性的名字部分为一个以空字符('\0')结尾的字符串(最长为25原创 2012-04-17 21:26:47 · 4956 阅读 · 0 评论 -
ZFS源代码之旅——ARC模块分析
0. 背景介绍ARC(Adaptive Replacement Cache)是ZFS的磁盘缓存,它位于DMU模块和SPA层之间,是一个虚拟块层,这种层次可以让一个文件系统和它的快照与克隆共同使用缓存的数据。从下图我们可以看出ARC在整个ZFS文件系统结构中的位置。本文接下来的内容首先会介绍磁盘缓存在整个文件系统中的作用,接着简单的介绍采用LRU策略缓存的实现,最后,再详细介绍ZFS使用原创 2012-05-07 21:04:33 · 6220 阅读 · 1 评论