F2FS文件系统二 实验分析f2fs文件系统

本文介绍了在Ubuntu系统上实践操作F2FS文件系统的步骤,包括环境准备、磁盘布局分析,如superBlock、checkpoint、SIT等,并通过具体实例展示了如何从Superblock到DataBlock定位文件数据的流程。同时提供了相关工具的使用方法,如f2fs-tools的安装和使用。
摘要由CSDN通过智能技术生成

一、环境准备:

1、ubuntu系统安装f2fs-tools:sudo apt-get install -y f2fs-tools

2、使用系统loop设备进行实践操作:

dd if=/dev/zero of=device bs=4K count=51200 //200M
losetup /dev/loop0 device      //寻址可用的loop设备
mkfs.f2fs -l f2fs /dev/loop0   //格式化此loop设备
mount -t f2fs /dev/loop0 ./f2fs_mp //挂载到f2fs_mp文件夹

  

3、获取挂载初始状态:dd if=/dev/loop0 of=f2fs_test,可以通过UE打开f2fs_test查看。

4、新建如下文件,以及对应的inode:

  root@ubuntu:/home/yinpeng/f2fs_mp# ls -i

  91 1.c     92 2.txt     87 a.txt     93 bio.c

二、磁盘布局分解:

1、superBlock:

  F2FS文件的起始地址向后偏移0x400字节,寻址当前地址为所述超级块SuperBlock的起始地址。

在内存的存储方式是小端存储,有两个superblock如下:

对应的结构体信息如下:

struct f2fs_super_block {

__le32 magic;                        /* Magic Number */             

0xF2F52010

__le16 major_ver;                /* Major Version */ 

0x01

__le16 minor_ver;                /* Minor Version */ 

0x0B

__le32 log_sectorsize;                /* log2 sector size in bytes */        

0x09

__le32 log_sectors_per_block;        /* log2 # of sectors per block */  

0x03

__le32 log_blocksize;                /* log2 block size in bytes */        

 0x0C

__le32 log_blocks_per_seg;        /* log2 # of blocks per segment */    

 0x09

__le32 segs_per_sec;                /* # of segments per section */        

0x01

__le32 secs_per_zone;                /* # of sections per zone */          

 0x01

__le32 checksum_offset;                /* checksum offset inside super block */

0x00

__le64 block_count;                /* total # of user blocks */               

0xC800

__le32 section_count;                /* total # of sections */              

0x5C

__le32 segment_count;                /* total # of segments */             

 0x63

__le32 segment_count_ckpt;        /* # of segments for checkpoint */    

 0x02

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值