| Type |
Size |
Field name |
Description |
| int 32 | 4 | fs_firstfield | historic filesystem linked list,
used for incore super blocks |
| int 32 | 4 | fs_unused_1 |
| int 32 | 4 | fs_sblkno | offset of super-block in filesys |
| int 32 | 4 | fs_cblkno | offset of cyl-block in filesys |
| int 32 | 4 | fs_iblkno | offset of inode-blocks in filesys |
| int 32 | 4 | fs_dblkno | offset of first data after cg |
| int 32 | 4 | fs_old_cgoffset | cylinder group offset in cylinder |
| int 32 | 4 | fs_old_cgmask | used to calc mod fs_ntrak |
| int 32 | 4 | fs_old_time | last time written |
| int 32 | 4 | fs_old_size | number of blocks in fs |
| int 32 | 4 | fs_old_dsize | number of data blocks in fs |
| int 32 | 4 | fs_ncg | number of cylinder groups |
| int 32 | 4 | fs_bsize | size of basic blocks in fs |
| int 32 | 4 | fs_fsize | size of frag blocks in fs |
| int 32 | 4 | fs_frag | number of frags in a block in fs |
| these are configuration parameters |
| int 32 | 4 | fs_minfree | minimum percentage of free blocks |
| int 32 | 4 | fs_old_rotdelay | num of ms for optimal next block |
| int 32 | 4 | fs_old_rps | disk revolutions per second |
| these fields can be computed from the others |
| int 32 | 4 |
fs_bmask | blkoff calc of blk offsets |
| int 32 | 4 | fs_fmask | fragoff calc of frag offsets |
| int 32 | 4 | fs_bshift | lblkno calc of logical blkno |
| int 32 | 4 | fs_fshift | numfrags calc number of frags |
| these are configuration parameters |
| int 32 | 4 | fs_maxcontig | max number of contiguous blks |
| int 32 | 4 | fs_maxbpg | max number of blks per cyl group |
| these fields can be computed from the others |
| int 32 | 4 | fs_fragshift | block to frag shift |
| int 32 | 4 | fs_fsbtodb | fsbtodb and dbtofsb shift constant |
| int 32 | 4 | fs_sbsize | actual size of super block |
| int 32 | 4*2 | fs_spare1[2] | old fs_csmask, old fs_csshift |
| int 32 | 4 | fs_nindir | value of NINDIR |
| int 32 | 4 | fs_inopb | value of INOPB |
| int 32 | 4 | fs_old_nspf | value of NSPF |
| yet another configuration parameter |
| int 32 | 4 | fs_optim | optimization preference, see below |
| int 32 | 4 | fs_old_npsect | # sectors/track including spares |
| int 32 | 4 | fs_old_interleave | hardware sector interleave |
| int 32 | 4 | fs_old_trackskew | sector 0 skew, per track |
| int 32 | 4*2 | fs_id[2] | unique filesystem id |
| sizes determined by number of cylinder groups and their sizes |
| int 32 | 4 | fs_old_csaddr | blk addr of cyl grp summary area |
| int 32 | 4 | fs_cssize | size of cyl grp summary area |
| int 32 | 4 | fs_cgsize | cylinder group size |
| int 32 | 4 | fs_spare2 | old fs_ntrak |
| int 32 | 4 | fs_old_nsect | sectors per track |
| int 32 | 4 | fs_old_spc | sectors per cylinder |
| int 32 | 4 | fs_old_ncyl | cylinders in filesystem |
| int 32 | 4 | fs_old_cpg | cylinders per group |
| int 32 | 4 | fs_ipg | inodes per group |
| int 32 | 4 | fs_fpg | blocks per group * fs_frag |
| this data must be re-computed after crashes |
| struct csum | ??? | fs_old_cstotal |
cylinder summary information |
| these fields are cleared at mount time |
| int 8 | 1 | fs_fmod | super block modified flag |
| int 8 | 1 | fs_clean | filesystem is clean flag |
| int 8 | 1 | fs_ronly | mounted read-only flag |
| int 8 | 1 | fs_flags | see FS_ flags below |
| uchar | 512 | fs_fsmnt[MAXMNTLEN] | name mounted on |
| these fields retain the current block allocation info |
| int 32 | 4 | fs_cgrotor | last cg searched |
| void* | 124 | fs_ocsp[NOCSPTRS] | (???)padding (was list of fs_cs buffers) |
| u_int8_t* | 4 | fs_contigdirs | (???) # of contiguously allocated dirs |
| struct csum* | 4 | fs_csp | (???) cg summary info buffer for fs_cs |
| int 32* | 4 | fs_maxcluster | (???) max cluster in each cyl group |
| uint 32* | 4 | fs_active | (???) used by snapshots to track fs |
| int 32 | 4 | fs_old_cpc | cyl per cycle in postbl |
| int 32 | 4 | fs_maxbsize | maximum blocking factor permitted |
| int 64 | 8*17 (136) | fs_sparecon64[17] | old rotation block list head |
| int 64 | 8 | fs_sblockloc | location of standard superblock |
| struct csum_total | ??? | fs_cstotal | cylinder summary information |
| int 64 | 8 | fs_time | last time written |
| int 64 | 8 | fs_size | number of blocks in fs |
| int 64 | 8 | fs_dsize | number of data blocks in fs |
| int 64 | 8 | fs_csaddr | blk addr of cyl grp summary area |
| int 64 | 8 | fs_pendingblocks | blocks in process of being freed |
| int 32 | 4 | fs_pendinginodes | inodes in process of being freed |
| int 32 | 4*20 | fs_snapinum[FSMAXSNAP] | list of snapshot inode numbers |
| int 32 | 4 | fs_avgfilesize | expected average file size |
| int 32 | 4 | fs_avgfpdir | expected # of files per directory |
| int 32 | 4 | fs_save_cgsize | save real cg size to use fs_bsize |
| int 32 | 4*27 (108) | fs_sparecon32[27] | reserved for future constants |
| int 32 | 4 | fs_contigsumsize | size of cluster summary array |
| int 32 | 4 | fs_maxsymlinklen | max length of an internal symlink |
| int 32 | 4 | fs_old_inodefmt | format of on-disk inodes |
| uint 64 | 8 | fs_maxfilesize | maximum representable file size |
| int 64 | 8 | fs_qbmask | ~fs_bmask
for use with 64-bit size |
| int 64 | 8 | fs_qfmask | ~fs_fmask
for use with 64-bit size |
| int 32 | 4 | fs_state | validate fs_clean field |
| int 32 | 4 | fs_old_postblformat | format of positional layout tables |
| int 32 | 4 | fs_old_nrpos | number of rotational positions |
| int 32 | 4*2 | fs_spare5[2] | old fs_postbloff old fs_rotbloff |
| int 32 | 4 | fs_magic | magic number |