咨询Ext4文件系统中i_size_lo与i_size_high的差异
Ext4文件系统中i_size_lo与i_size_high的区别
在Ext4文件系统的inode结构里,这两个字段都用于记录文件大小,核心区别在于负责存储的数值范围:
- i_size_lo:存储文件大小的低32位数据。它是兼容旧版Ext3的字段——在未启用64位文件支持的场景下,这个字段单独代表完整的文件大小,上限为4GB(2³²-1字节)。
- i_size_high:存储文件大小的高32位数据,是Ext4为支持超大文件新增的字段。当文件大小超过4GB时,必须结合
i_size_lo和i_size_high才能得到完整的64位文件大小,此时最大支持的文件容量可达16EB(2⁶⁴-1字节)。
内核在处理文件大小时,会将这两个字段拼接成一个64位整数,以此来准确表示Ext4中从极小到超大的各类文件尺寸。
内容的提问来源于stack exchange,提问作者Samuel
相关产品推荐
相关产品推荐

