9.2.4  组描述符

块组中,紧跟在超级块后面的是组描述符表,其每一项称为组描述符,是一个叫ext2_group_desc的数据结构,共32字节。它是用来描述某个块组的整体信息的。

struct ext2_group_desc

{

   __u32   bg_block_bitmap;     /* 组中块位图所在的块号 */

   __u32   bg_inode_bitmap;        /* 组中索引节点位图所在块的块号 */

   __u32   bg_inode_table;     /*组中索引节点表的首块号 */

   __u16   bg_free_blocks_count;  /* 组中空闲块数 */

   __u16   bg_free_inodes_count;  /* 组中空闲索引节点数 */

   __u16   bg_used_dirs_count; /*组中分配给目录的节点数 */

   __u16   bg_pad;                   /*填充,对齐到字*/

   __u323bg_reserved;            /*null填充12个字节*/

}

 

每个块组都有一个相应的组描述符来描述它,所有的组描述符形成一个组描述符表,组描述符表可能占多个数据块。组描述符就相当于每个块组的超级块,一旦某个组描述符遭到破坏,整个块组将无法使用,所以组描述符表也像超级块那样,在每个块组中进行备份,以防遭到破坏。组描述符表所占的块和普通的数据块一样,在使用时被调入块高速缓存。