acg
rdfs(FFS_FSBTODB(fs, cgtod(fs, cg)), (int)sblock.fs_cgsize, &acg);
if (!cg_chkmagic(&acg, needswap)) {
if (isclr(cg_blksfree(&acg, needswap), bn))
rdfs(FFS_FSBTODB(&sblock, cgtod(&sblock, 0)), sblock.fs_cgsize, &acg);
ffs_cg_swap(&acg, &acg, &sblock);
if (acg.cg_magic != CG_MAGIC) {
if (acg.cg_cs.cs_nbfree == 0) {
for (d = 0; d < acg.cg_ndblk; d += sblock.fs_frag)
if (isblock(&sblock, cg_blksfree(&acg, 0),
clrblock(&sblock, cg_blksfree(&acg, 0), blkno);
clrbit(cg_clustersfree(&acg, 0), blkno);
acg.cg_cs.cs_nbfree--;
acg.cg_cs.cs_ndir++;
old_cg_blktot(&acg, 0)[cn]--;
old_cg_blks(&sblock, &acg,
acg.cg_cs.cs_nffree += sblock.fs_frag - frag;
acg.cg_frsum[sblock.fs_frag - frag]++;
setbit(cg_blksfree(&acg, 0), d + i);
ffs_cg_swap(&acg, &acg, &sblock);
wtfs(FFS_FSBTODB(&sblock, cgtod(&sblock, 0)), sblock.fs_cgsize, &acg);
rdfs(FFS_FSBTODB(&sblock, cgtod(&sblock, 0)), sblock.fs_cgsize, &acg);
ffs_cg_swap(&acg, &acg, &sblock);
if (acg.cg_magic != CG_MAGIC) {
acg.cg_cs.cs_nifree--;
setbit(cg_inosused(&acg, 0), ino);
ffs_cg_swap(&acg, &acg, &sblock);
wtfs(FFS_FSBTODB(&sblock, cgtod(&sblock, 0)), sblock.fs_cgsize, &acg);
memset(&acg, 0, sblock.fs_cgsize);
acg.cg_magic = CG_MAGIC;
acg.cg_cgx = cylno;
acg.cg_ndblk = dmax - cbase;
acg.cg_nclusterblks = acg.cg_ndblk >> sblock.fs_fragshift;
start = &acg.cg_space[0] - (u_char *)(&acg.cg_firstfield);
acg.cg_time = tv->tv_sec;
acg.cg_niblk = sblock.fs_ipg;
acg.cg_initediblk = sblock.fs_ipg < 2 * FFS_INOPB(&sblock) ?
acg.cg_iusedoff = start;
acg.cg_old_ncyl = sblock.fs_old_cpg;
acg.cg_old_ncyl =
acg.cg_old_time = tv->tv_sec;
acg.cg_old_niblk = sblock.fs_ipg;
acg.cg_old_btotoff = start;
acg.cg_old_boff = acg.cg_old_btotoff +
acg.cg_iusedoff = acg.cg_old_boff +
acg.cg_freeoff = acg.cg_iusedoff + howmany(sblock.fs_ipg, CHAR_BIT);
acg.cg_nextfreeoff = acg.cg_freeoff +
acg.cg_clustersumoff = acg.cg_freeoff +
acg.cg_clustersumoff += sizeof(int32_t);
acg.cg_clustersumoff =
roundup(acg.cg_clustersumoff, sizeof(int32_t));
acg.cg_clusteroff = acg.cg_clustersumoff +
acg.cg_nextfreeoff = acg.cg_clusteroff +
if (acg.cg_nextfreeoff > (unsigned)sblock.fs_cgsize) {
acg.cg_cs.cs_nifree += sblock.fs_ipg;
setbit(cg_inosused(&acg, 0), u);
acg.cg_cs.cs_nifree--;
setblock(&sblock, cg_blksfree(&acg, 0), blkno);
setbit(cg_clustersfree(&acg, 0), blkno);
acg.cg_cs.cs_nbfree++;
old_cg_blktot(&acg, 0)[cn]++;
old_cg_blks(&sblock, &acg,
acg.cg_frsum[sblock.fs_frag - i]++;
setbit(cg_blksfree(&acg, 0), dupper);
acg.cg_cs.cs_nffree++;
d + sblock.fs_frag <= acg.cg_ndblk; ) {
setblock(&sblock, cg_blksfree(&acg, 0), blkno);
setbit(cg_clustersfree(&acg, 0), blkno);
acg.cg_cs.cs_nbfree++;
old_cg_blktot(&acg, 0)[cn]++;
old_cg_blks(&sblock, &acg,
if (d < acg.cg_ndblk) {
acg.cg_frsum[acg.cg_ndblk - d]++;
for (; d < acg.cg_ndblk; d++) {
setbit(cg_blksfree(&acg, 0), d);
acg.cg_cs.cs_nffree++;
int32_t *sump = cg_clustersum(&acg, 0);
u_char *mapp = cg_clustersfree(&acg, 0);
for (i = 0; i < acg.cg_nclusterblks; i++) {
*fscs_next++ = acg.cg_cs;
memcpy(&iobuf[start], &acg, sblock.fs_cgsize);
ffs_cg_swap(&acg, (struct cg*)&iobuf[start], &sblock);
#define cmd_cgramset(acg) \
((uint8_t)(0x40 | ((acg) & 0x3f)))
if (read(fd, &acg, afs.fs_bsize) != afs.fs_bsize) {
ffs_cg_swap(&acg, &acg, &afs);
t = acg.cg_old_time;
t = acg.cg_time;
((struct ocg *)&acg)->cg_magic : acg.cg_magic,
acg.cg_cgx, acg.cg_old_ncyl, acg.cg_old_niblk,
acg.cg_ndblk);
acg.cg_cgx, acg.cg_niblk, acg.cg_ndblk);
acg.cg_cs.cs_nbfree, acg.cg_cs.cs_ndir,
acg.cg_cs.cs_nifree, acg.cg_cs.cs_nffree);
acg.cg_rotor, acg.cg_irotor, acg.cg_frotor);
printf("\t%d", acg.cg_frsum[i]);
j += i * acg.cg_frsum[i];
printf("\t%d", cg_clustersum(&acg, 0)[i]);
cg_clustersum(&acg, 0)[afs.fs_contigsumsize]);
pbits(0, cg_clustersfree(&acg, 0), acg.cg_nclusterblks);
pbits(0 * c * afs.fs_ipg, cg_inosused(&acg, 0), afs.fs_ipg);
pbits(0, cg_blksfree(&acg, 0), afs.fs_fpg);
if (old_cg_blktot(&acg, 0)[i] == 0)
printf(" c%d:\t(%d)\t", i, old_cg_blktot(&acg, 0)[i]);
printf(" %d", old_cg_blks(&afs, &acg, i, 0)[j]);
memset(&acg, 0, sblock.fs_cgsize);
acg.cg_time = utime;
acg.cg_magic = CG_MAGIC;
acg.cg_cgx = cylno;
acg.cg_niblk = sblock.fs_ipg;
acg.cg_initediblk = sblock.fs_ipg < 2 * FFS_INOPB(&sblock) ?
acg.cg_ndblk = dmax - cbase;
acg.cg_nclusterblks = acg.cg_ndblk >> sblock.fs_fragshift;
start = &acg.cg_space[0] - (u_char *)(&acg.cg_firstfield);
acg.cg_iusedoff = start;
acg.cg_old_ncyl = sblock.fs_old_cpg;
acg.cg_old_ncyl =
acg.cg_old_ncyl = howmany(acg.cg_ndblk,
acg.cg_old_time = acg.cg_time;
acg.cg_time = 0;
acg.cg_old_niblk = acg.cg_niblk;
acg.cg_niblk = 0;
acg.cg_initediblk = 0;
acg.cg_old_btotoff = start;
acg.cg_old_boff = acg.cg_old_btotoff +
acg.cg_iusedoff = acg.cg_old_boff +
acg.cg_freeoff = acg.cg_iusedoff + howmany(sblock.fs_ipg, CHAR_BIT);
acg.cg_nextfreeoff = acg.cg_freeoff +
acg.cg_clustersumoff = acg.cg_freeoff +
acg.cg_clustersumoff =
roundup(acg.cg_clustersumoff, sizeof(int32_t));
acg.cg_clusteroff = acg.cg_clustersumoff +
acg.cg_nextfreeoff = acg.cg_clusteroff +
if (acg.cg_nextfreeoff > (unsigned)sblock.fs_cgsize) {
acg.cg_cs.cs_nifree += sblock.fs_ipg;
setbit(cg_inosused(&acg, 0), r);
acg.cg_cs.cs_nifree--;
ffs_setblock(&sblock, cg_blksfree(&acg, 0), blkno);
setbit(cg_clustersfree(&acg, 0), blkno);
acg.cg_cs.cs_nbfree++;
old_cg_blktot(&acg, 0)[cn]++;
old_cg_blks(&sblock, &acg,
acg.cg_frsum[sblock.fs_frag - i]++;
setbit(cg_blksfree(&acg, 0), dupper);
acg.cg_cs.cs_nffree++;
d + sblock.fs_frag <= acg.cg_ndblk; ) {
ffs_setblock(&sblock, cg_blksfree(&acg, 0), blkno);
setbit(cg_clustersfree(&acg, 0), blkno);
acg.cg_cs.cs_nbfree++;
old_cg_blktot(&acg, 0)[cn]++;
old_cg_blks(&sblock, &acg,
if (d < acg.cg_ndblk) {
acg.cg_frsum[acg.cg_ndblk - d]++;
for (; d < acg.cg_ndblk; d++) {
setbit(cg_blksfree(&acg, 0), d);
acg.cg_cs.cs_nffree++;
int32_t *sump = cg_clustersum(&acg, 0);
u_char *mapp = cg_clustersfree(&acg, 0);
for (i = 0; i < acg.cg_nclusterblks; i++) {
sblock.fs_cs(&sblock, cylno) = acg.cg_cs;
memcpy(&iobuf[start], &acg, sblock.fs_cgsize);
ffs_cg_swap(&acg, (struct cg*)&iobuf[start], &sblock);
for (i = 0; i < acg.cg_initediblk; i++) {