学习F2FS过程中笔记一

解决问题1:F2FS的目录结构理解

F2FS使用到文件哈希是分层的。
每个block有214个目录槽。一个目录槽最多存1个文件夹信息。

第一层就一个哈希桶,一个哈希桶有2个blocks,每个block有214个目录槽。每个目录槽最大存一个目录信息。
第二层有1<<1(即2)个哈希桶,每个哈希桶2个blocks
第三层有1<<2(即4)个哈希桶,每个哈希桶2个blocks
.
.
.
第31层共1<<31(即2到31次方)个哈希桶,每个哈希桶2个blocks
第32层共1<<31(即2到31次方)个哈希桶,每个哈希桶4个blocks
.
.

当层数小于31时:
一个哈希桶有2个blocks,即8k大小。
当层数大于31时:
一个哈希桶有4个blocks,即16k大小。

哈希值通过类是EXT3文件系统到算法,得到哈希值后对没层到哈希桶数求余数,计算在该层到哪个哈希桶。

解决问题2:为什么文件名大小只有8字节,怎么存下大文件名?

目录结构体:

struct f2fs_dentry_block {
    __u8 dentry_bitmap[SIZE_OF_DENTRY_BITMAP];
    __u8 reserved[SIZE_OF_RESERVED];
    struct f2fs_dir_entry dentry[NR_D
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值