2 - 2


/* 0x08 */ ufs_daddr_t fs_sblkno; /* addr of super-block in filesys */

/* 0x0C */ ufs_daddr_t fs_cblkno; /* offset of cyl-block in filesys */

/* 0x10 */ ufs_daddr_t fs_iblkno; /* offset of inode-blocks in filesys */

/* 0x14 */ ufs_daddr_t fs_dblkno; /* offset of first data after cg */

/* 0x18 */ int32_t fs_cgoffset; /* cylinder group offset in cylinder */

/* 0x1C */ int32_t fs_cgmask; /* used to calc mod fs_ntrak */

/* 0x20 */ time_t fs_time; /* last time written */

/* 0x24 */ int32_t fs_size; /* number of blocks in fs */

/* 0x28 */ int32_t fs_dsize; /* number of data blocks in fs */

/* 0x2C */ int32_t fs_ncg; /* number of cylinder groups */

/* 0x30 */ int32_t fs_bsize; /* size of basic blocks in fs */

/* 0x34 */ int32_t fs_fsize; /* size of frag blocks in fs */

/* 0x38 */ int32_t fs_frag; /* number of frags in a block in fs */

 

/* these are configuration parameters */

/* 0x3 */ int32_t fs_minfree; /* minimum percentage of free blocks */

/* 0x40 */ int32_t fs_rotdelay; /* num of ms for optimal next block */

/* 0x44 */ int32_t fs_rps; /* disk revolutions per second */

 

/* sizes determined by number of cylinder groups and their sizes */

/* 0x98 */ ufs_daddr_t fs_csaddr; /* blk addr of cyl grp summary area */

/* 0x9C */ int32_t fs_cssize; /* size of cyl grp summary area */

/* 0xA0 */ int32_t fs_cgsize; /* cylinder group size */

 

/* these fields can be computed from the others */

/* 0xB4 */ int32_t fs_cpg; /* cylinders per group */

/* 0xB8 */ int32_t fs_ipg; /* inodes per group */

/* 0xBC */ int32_t fs_fpg; /* blocks per group * fs_frag */

 

/* these fields are cleared at mount time */

/* 0xD0 */ int8_t fs_fmod; /* super block modified flag */

/* 0xD1 */ int8_t fs_clean; /* file system is clean flag */

/* 0xD2 */ int8_t fs_ronly; /* mounted read-only flag */

/* 0xD3 */ int8_t fs_flags; /* see FS_ flags below */

/* 0xD4 */ u_char fs_fsmnt[MAXMNTLEN]; /* name mounted on */

};