文件系统

目录项的数据结构:

struct ext2_dir_entry_2{
        __le32  inode;
        __le16  rec_len;
        __u8    name_len;
        __u8    file_type;
        char    name[EXT2_NAME_LEN];
};

所以在cat userlist这个文件名的时候,会通过目录项中的文件名找到对应的inode节点

inode节点的数据结构:

struct ext2_inode{
    __le16 i_mode;    /*文件模式*/
    __le16 i_uid;     /*所有者UID的低16位*/
    __le32 i_size;    /*长度,按字节计算*/
    __le32 i_atime;   /*访问时间*/
    __le32 i_ctime;   /*创建时间*/
    __le32 i_mtime;   /*修改时间*/
    __le32 i_dtime;   /*删除时间*/
    __le16 i_gid;     /*组ID的低16位*/
    __le16 i_links_count; /*链接计数*/
    __le32 i_blocks;    /*块数目*/
    __le32 i_flags;     /*文件标志*/
    uion{
        ……
    }masix1;
    __le32 i_blocks[EXT2_N_BLOCKS]; /*块指针*/
    __le32 i_generation;    /*文件版本,用于NFS*/
    …………
}

inode节点在inode表中,并且inode节点中记录了数据在哪些数据块中(i_blocks[EXT2_N_BLOCKS])

 

posted @ 2023-09-05 21:51  踏浪而来的人  阅读(5)  评论(0编辑  收藏  举报