上一页 1 2 3 4 5 6 7 8 9 ··· 22 下一页

2014年4月2日

[ext4]13 空间管理 - Prealloc分配机制

摘要:  作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可。 在ext4系统中,对于小文件和大文件的空间申请请求,都有不同的分配策略。 对用小文件的空间请求,ext4尝试从一种叫per-CPU local g... 阅读全文

posted @ 2014-04-02 22:39 YoungerChina 阅读(1173) 评论(0) 推荐(0) 编辑

2014年4月1日

[ext4]空间管理 - 与分配相关的关键数据结构

摘要:  在块分配机制中,涉及到几个主要的数据结构。 通过ext4_allocation_request描述块请求,然后基于块查找结果即上层需求来决定是否执行块分配操作。 在分配过程中,为了更好执行分配,记录一些信息,需要对分配行为进行描述,就有结构体ext4_allocation_conte... 阅读全文

posted @ 2014-04-01 22:39 YoungerChina 阅读(773) 评论(0) 推荐(0) 编辑

[ext4]空间管理 - 查找块

摘要:  在文件系统中,当需要执行写操作时,肯定是需要查找需要写入的块。那么如何查找块哪? 在Ext4系统中,有两个函数是可能执行查找操作的:ext4_getblk()、ext4_get_block()。 其中ext4_getblk(),原型如下: structbuffer_he... 阅读全文

posted @ 2014-04-01 22:35 YoungerChina 阅读(2015) 评论(0) 推荐(0) 编辑

[ext4]空间管理 - 分配机制

摘要:  在Ext4系统中,存在很多分配策略,比如预分配、多块分配、延迟分配等 Prealloc预分配 在ext4系统中,对于小文件和大文件的空间申请请求,都有不同的分配策略。对用小文件的空间请求,ext4尝试从一种叫per-CPU local group中分配空间。Per-CPU L... 阅读全文

posted @ 2014-04-01 22:34 YoungerChina 阅读(1701) 评论(0) 推荐(0) 编辑

2014年3月27日

[ext4] 磁盘布局 - extent tree

摘要: 传统的类Unix文件系统,比如Ext3,都是使用一个间接数据块映射表来记录每一个数据块的分配情况的。但是这种机制对于超大文件的存储是有缺陷的,特别是当对超大文件进行删除和截断操作时。映射表会对每一个数据块进行记录,而一个超大文件将占有很多的数据块,因此造成映射表将变得无比臃肿,难于维护。 Ext... 阅读全文

posted @ 2014-03-27 14:31 YoungerChina 阅读(1764) 评论(0) 推荐(0) 编辑

[ext4]磁盘布局 - inode bitmap & table

摘要: 在[磁盘布局 group部分]已经介绍过ext4的整体布局,其中存在两个与inode有关的名称:inode bitmap和inode table。 Inode bitmap,用于表示inode table中对应的inode entry是否已经使用。Bitmap中每个位对应于一个table中ino... 阅读全文

posted @ 2014-03-27 14:28 YoungerChina 阅读(1172) 评论(0) 推荐(0) 编辑

[ext4]08 磁盘布局 - CheckSums

摘要: 从2012年开始,Ext4和jbd2的元数据中都开始加入checksums。特性标识是metadata_csum。Checksum算法是在super_block中指定: struct ext4_super_block { … __u8 s_log_groups_per_flex;... 阅读全文

posted @ 2014-03-27 14:19 YoungerChina 阅读(556) 评论(0) 推荐(0) 编辑

2014年3月24日

[ext4]07 磁盘布局 - 块/inode分配策略

摘要: Ext4系统从设计上就认为数据局部性是文件系统的文件系统的一个理想品质。 在机械硬盘上,相关联的数据存放在相近的blocks上,可以使得在访问数据时减少磁头驱动器的移动距离,从而加快IO访问。 在SSD上,没有像磁头一样的移动组件。但是数据局部性可以增大请求大小从而降低请求数量。同时可以尽可能的... 阅读全文

posted @ 2014-03-24 20:09 YoungerChina 阅读(874) 评论(0) 推荐(0) 编辑

[ext4]06 磁盘布局 - 特殊inode

摘要: Ext4预留了一些inode做特殊特性使用,见下表: inode Purpose 0 不存在,Ext4中不存在inode 0. 1 存放损坏的数据块链表 2 根目录 3 User quota. 用户quota索引 4 G... 阅读全文

posted @ 2014-03-24 20:08 YoungerChina 阅读(344) 评论(0) 推荐(0) 编辑

[ext4]05 磁盘布局 - 延迟块组初始化

摘要: 延迟块组初始化,Ext4的新特性。如果对应的特性标识uninit_bg置位,那么inode bitmap和inode tables就不会初始化。 延迟块组初始化特性特性可以减少格式化耗时。 延迟块组初始化特性,默认是开启的。 root@ubuntu:~# time mkfs.ext4 -F /... 阅读全文

posted @ 2014-03-24 20:07 YoungerChina 阅读(377) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 22 下一页

导航