afs
if ((n = read(fd, &afs, SBSIZE)) == -1)
if (afs.fs_magic != FS_MAGIC) {
if (afs.fs_postblformat == FS_42POSTBLFMT)
afs.fs_nrpos = 8;
dev_bsize = afs.fs_fsize / fsbtodb(&afs, 1);
fs_time = afs.fs_time;
printf("magic\t%x\ttime\t%s", afs.fs_magic, ctime(&fs_time));
printf("id\t[ %x %x ]\n", afs.fs_id[0], afs.fs_id[1]);
afs.fs_postblformat == FS_42POSTBLFMT ? "static" : "dynamic",
afs.fs_inodefmt < FS_44INODEFMT ? "4.2/4.3BSD" : "4.4BSD");
afs.fs_cstotal.cs_nbfree, afs.fs_cstotal.cs_ndir,
afs.fs_cstotal.cs_nifree, afs.fs_cstotal.cs_nffree);
afs.fs_ncg, afs.fs_ncyl, afs.fs_size, afs.fs_dsize);
afs.fs_bsize, afs.fs_bshift, afs.fs_bmask);
afs.fs_fsize, afs.fs_fshift, afs.fs_fmask);
afs.fs_frag, afs.fs_fragshift, afs.fs_fsbtodb);
afs.fs_cpg, afs.fs_fpg / afs.fs_frag, afs.fs_fpg, afs.fs_ipg);
afs.fs_minfree, afs.fs_optim == FS_OPTSPACE ? "space" : "time",
afs.fs_maxcontig, afs.fs_maxbpg);
afs.fs_rotdelay, afs.fs_rps);
afs.fs_ntrak, afs.fs_nsect, afs.fs_npsect, afs.fs_spc);
afs.fs_maxsymlinklen, afs.fs_trackskew, afs.fs_interleave,
afs.fs_contigsumsize);
afs.fs_nindir, afs.fs_inopb, afs.fs_nspf,
(uintmax_t)afs.fs_maxfilesize);
afs.fs_sblkno, afs.fs_cblkno, afs.fs_iblkno, afs.fs_dblkno);
afs.fs_sbsize, afs.fs_cgsize, afs.fs_cgoffset, afs.fs_cgmask);
afs.fs_csaddr, afs.fs_cssize, afs.fs_csshift, afs.fs_csmask);
afs.fs_cgrotor, afs.fs_fmod, afs.fs_ronly, afs.fs_clean);
if (afs.fs_flags == 0)
if (afs.fs_flags & FS_UNCLEAN)
if (afs.fs_flags & FS_DOSOFTDEP)
if ((afs.fs_flags & ~(FS_UNCLEAN | FS_DOSOFTDEP)) != 0)
afs.fs_flags & ~(FS_UNCLEAN | FS_DOSOFTDEP));
if (afs.fs_cpc != 0)
afs.fs_nrpos);
for (c = 0; c < afs.fs_cpc; c++) {
for (i = 0; i < afs.fs_nrpos; i++) {
if (fs_postbl(&afs, c)[i] == -1)
for (j = fs_postbl(&afs, c)[i], k = 1; ;
j += fs_rotbl(&afs)[j], k++) {
if (fs_rotbl(&afs)[j] == 0)
afs.fs_csp = calloc(1, afs.fs_cssize);
for (i = 0, j = 0; i < afs.fs_cssize; i += afs.fs_bsize, j++) {
size = afs.fs_cssize - i < afs.fs_bsize ?
afs.fs_cssize - i : afs.fs_bsize;
(off_t)(fsbtodb(&afs, (afs.fs_csaddr + j * afs.fs_frag))) *
if (read(fd, (char *)afs.fs_csp + i, size) != size)
for (i = 0; i < afs.fs_ncg; i++) {
struct csum *cs = &afs.fs_cs(&afs, i);
if (afs.fs_ncyl % afs.fs_cpg) {
i = afs.fs_ncyl % afs.fs_cpg);
i * afs.fs_spc / NSPB(&afs));
for (i = 0; i < afs.fs_ncg; i++)
if ((cur = lseek(fd, (off_t)(fsbtodb(&afs, cgtod(&afs, c))) *
if (read(fd, &acg, afs.fs_bsize) != afs.fs_bsize) {
afs.fs_postblformat == FS_42POSTBLFMT ?
for (i = 1, j = 0; i < afs.fs_frag; i++) {
if (afs.fs_contigsumsize > 0) {
for (i = 1; i < afs.fs_contigsumsize; i++) {
afs.fs_contigsumsize - 1 < i + 7 ?
afs.fs_contigsumsize - 1 : i + 7);
afs.fs_contigsumsize,
cg_clustersum(&acg)[afs.fs_contigsumsize]);
pbits(cg_inosused(&acg), afs.fs_ipg);
pbits(cg_blksfree(&acg), afs.fs_fpg);
for (i = 0; i < afs.fs_cpg; i++) {
for (j = 0; j < afs.fs_nrpos; j++) {
if (afs.fs_cpc > 0 &&
fs_postbl(&afs, i % afs.fs_cpc)[j] == -1)
printf(" %d", cg_blks(&afs, &acg, i)[j]);
if ((n = read(fd, &afs, SBSIZE)) == -1)
if (afs.fs_magic != FS_MAGIC) {
if (afs.fs_flags & FS_DOSOFTDEP)
printf("-a %d ", afs.fs_maxcontig);
printf("-b %d ", afs.fs_bsize);
printf("-e %d ", afs.fs_maxbpg);
printf("-f %d ", afs.fs_fsize);
printf("-g %d ", afs.fs_avgfilesize);
printf("-h %d ", afs.fs_avgfpdir);
printf("-m %d ", afs.fs_minfree);
switch (afs.fs_optim) {
printf("-s %jd ", (intmax_t)afs.fs_size);
static struct afswtch *afs = NULL;
p->af_next = afs;
afs = p;
for (afp = afs; afp != NULL; afp = afp->af_next)
for (afp = afs; afp != NULL; afp = afp->af_next)
for (afp = afs; afp != NULL; afp = afp->af_next) {
for (afp = afs; afp != NULL; afp = afp->af_next) {
} afs[] = {
for (afp = rafp = afs; rafp->af_name; rafp++)
} else for (p = afs; p->af_name; p++) {