EXT4文件系统代码阅读的一点思考

自问自答的一个记录.


要显示一个 Ext2/Ext3/Ext4 信息,可以使用 e2fsprogs 中的 dumpe2fs 或 tune2fs -l 命令,例如:
dumpe2fs /dev/sda1 或者 tune2fs -l /dev/sda1, 还可以用 # debugfs /dev/sda2
debugfs 1.42 (29-Nov-2011)
debugfs:  stats

dumpe2fs 会显示 superblock 上的信息和每个区块组 (block group) 的信息。而 tune2fs -l 只会显示 superblock 上的信息。
如果您只想看 superblock 上关整个文件系统的资讯,除了使用 tune2fs -l 外,也可以在 dumpe2fs 加上 -h 选项 dumpe2fs -h /dev/sda1

A1.EXT4为什么最大分区是1EB?
Q1:48bit寻址block,每个block 4K的话,就是2^48 * 4K = 2^60 字节, 就是1EB

A2:文件最大是256TB
Q2:inode里面的三级指针决定的,每个block 4K的话,就是4k*4k*4k*4k = 256TB

A3:inode分布是线性连续的,比如,第一个block group对应的inode号是1-8192,第二个block group(bg)是8193-16384.
同时,在分区的根目录下创建目录的时候, 是会根据bg的负载情况去选择一个合适的bg去放这个目录的.
但是目录也是文件,那这个目录的inode会怎么放呢?
如果在这个目录下再放文件的话, 又怎么放呢?
Q3:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值