11
5
2014
0

EXT4-design

EXT4 design

Ext3系统已有许实用的缺省状态,有良好的兼容性,可靠性。

Ext4更支持大的文件系统,对大文件支持性更好。

磁盘上的一些结构变了:纳秒级时间戳、extent分配、预分配

写在磁盘崩溃也可以保证可靠性

64bit的JBD

向前兼容文件系统/文件系统可升级

多块分配

延迟分配

第一配额指标的支持 1st Class Quota Support

大的块分配 Large allocation blocks

 

EXT4 Extents

extent对应的是磁盘上和逻辑上都连续的空间,Extents的设计使得更少的元数据管理更多的数据,所以可以做到更快的访问。

Extents在磁盘上的数据结构

/*extent bottom of the tree 的结构*/

struct ext4_extent {

        __le32  ee_block;       /* first logical block extent covers */

        __le16  ee_len;         /* number of blocks covered by extent */

        __le16  ee_start_hi;    /* high 16 bits of physical block */

        __le32  ee_start_lo;    /* low 32 bits of physical block */

}

 

/*extent 除开bottom of the tree 的结构*/

struct ext4_extent_idx {
        __le32  ei_block;       /* index covers logical blocks from 'block' */
        __le32  ei_leaf_lo;     /* pointer to the physical block of the next *
                                 * level. leaf or next index could be there */
        __le16  ei_leaf_hi;     /* high 16 bits of physical block */
        __u16   ei_unused;
};

 

四篇文章链接

FOSS.in 2006 ext4 paper

OLS 2005 ext3 presentation

OLS 2005 ext3 paper

Ext3 for large filesystems

 

本文为https://ext4.wiki.kernel.org/index.php/Ext4_Design的翻译

Category: 文件系统 | Tags: | Read Count: 816

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com