simfs文件系统

3581阅读 1评论2011-02-20 dbconf
分类:LINUX

simfs文件系统

SIMFS文件系统很简单,由三部分组成:文件系统头部,Inode部分,以及数据块部分。其中头部主要包括文件系统标示,inode个数,块个数等信息,头部长度为一个块长度,既512BytesSIMFS只支持256inode, 既最多可以创建256个文件。simfs的功能简单,紧紧添加了创建新文件功能。文件系统管理和格式化工具的源码可以参考后面的两部分。下面的代码给出了头和inode的定义。

#define SIMFS_INODE_SIZE        128

#define SIMFS_NAME_SIZE (SIMFS_INODE_SIZE - 12)

#define SIMFS_BLK_SIZE          512

 

#define SIMFS_BLK_MASK          0x1FF

 

struct simfs_head {

       char  name[8];

        int32_tinodenum;

        int64_tblknum;

        int64_tfsblks;

        int32_tinodesize;

        int32_tblksize;

        int64_tinodebitmap;

        int64_tblkbitmap;

        int64_tinodearray;

        int64_t blkarray;

 

        uint8_tzero[444];

};

 

struct simfs_inode {

        charname[SIMFS_NAME_SIZE];

        uint32_tmode;

        int64_tdatablk;

};

 

上一篇:FreeBSD块设备
下一篇:用户空间文件系统(Filesystem in Userspace)

文章评论