acg
cgtime = acg.cg_time;
acg.cg_magic, (intmax_t)cur, ctime(&cgtime));
acg.cg_cgx, acg.cg_ndblk, acg.cg_niblk, acg.cg_initediblk,
acg.cg_unrefs);
cgtime = acg.cg_old_time;
acg.cg_magic, (intmax_t)cur, ctime(&cgtime));
acg.cg_cgx, acg.cg_old_ncyl, acg.cg_old_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)[i]);
cg_clustersum(&acg)[afs.fs_contigsumsize]);
pbits(cg_clustersfree(&acg), acg.cg_nclusterblks);
pbits(cg_inosused(&acg), afs.fs_ipg);
pbits(cg_blksfree(&acg), afs.fs_fpg);
pblklist(cg_blksfree(&acg), afs.fs_fpg, disk.d_lcg * afs.fs_fpg,
cgtod(&sblock, cylno)), (void *)&acg,
DBG_DUMP_CG(&sblock, dbg_line, &acg);
DBG_DUMP_INMAP(&sblock, dbg_line, &acg);
DBG_DUMP_FRMAP(&sblock, dbg_line, &acg);
DBG_DUMP_CLMAP(&sblock, dbg_line, &acg);
DBG_DUMP_CLSUM(&sblock, dbg_line, &acg);
DBG_DUMP_SPTBL(&sblock, dbg_line, &acg);
clrblock(&sblock, cg_blksfree(&acg),
acg.cg_cs.cs_nbfree--;
clrbit(cg_clustersfree(&acg),
clrbit(cg_blksfree(&acg), d % sblock.fs_fpg);
acg.cg_cs.cs_nffree--;
acg.cg_cs.cs_nbfree--;
acg.cg_cs.cs_nffree += sblock.fs_frag;
clrbit(cg_clustersfree(&acg),
*cs = acg.cg_cs;
cgckhash(&acg);
(size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag);
DBG_DUMP_CG(&sblock, "new summary cg", &acg);
setbit(cg_clustersfree(&acg), block);
if (isclr(cg_clustersfree(&acg), block))
cg_clustersum(&acg)[lcs]--;
cg_clustersum(&acg)[lcs]++;
memset(&acg, 0, sblock.fs_cgsize);
acg.cg_time = modtime;
acg.cg_magic = CG_MAGIC;
acg.cg_cgx = cylno;
acg.cg_niblk = sblock.fs_ipg;
acg.cg_initediblk = MIN(sblock.fs_ipg, 2 * INOPB(&sblock));
acg.cg_ndblk = dmax - cbase;
acg.cg_nclusterblks = acg.cg_ndblk / sblock.fs_frag;
start = sizeof(acg);
acg.cg_iusedoff = start;
acg.cg_old_ncyl = sblock.fs_old_cpg;
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 + howmany(sblock.fs_fpg, CHAR_BIT);
acg.cg_clustersumoff =
roundup(acg.cg_nextfreeoff, sizeof(u_int32_t));
acg.cg_clustersumoff -= sizeof(u_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), ino);
acg.cg_cs.cs_nifree--;
for (i = 0; i < acg.cg_initediblk; i++) {
setblock(&sblock, cg_blksfree(&acg), blkno);
setbit(cg_clustersfree(&acg), blkno);
acg.cg_cs.cs_nbfree++;
sblock.fs_dsize += acg.cg_ndblk - dupper;
acg.cg_frsum[sblock.fs_frag - i]++;
setbit(cg_blksfree(&acg), dupper);
acg.cg_cs.cs_nffree++;
for (d = dupper; d + sblock.fs_frag <= acg.cg_ndblk;
setblock(&sblock, cg_blksfree(&acg), blkno);
setbit(cg_clustersfree(&acg), blkno);
acg.cg_cs.cs_nbfree++;
if (d < acg.cg_ndblk) {
acg.cg_frsum[acg.cg_ndblk - d]++;
for (; d < acg.cg_ndblk; d++) {
setbit(cg_blksfree(&acg), d);
acg.cg_cs.cs_nffree++;
int32_t *sump = cg_clustersum(&acg);
u_char *mapp = cg_clustersfree(&acg);
for (i = 0; i < acg.cg_nclusterblks; i++) {
sblock.fs_cstotal.cs_ndir += acg.cg_cs.cs_ndir;
sblock.fs_cstotal.cs_nffree += acg.cg_cs.cs_nffree;
sblock.fs_cstotal.cs_nbfree += acg.cg_cs.cs_nbfree;
sblock.fs_cstotal.cs_nifree += acg.cg_cs.cs_nifree;
*cs = acg.cg_cs;
cgckhash(&acg);
wtfs(fsbtodb(&sblock, cgtod(&sblock, cylno)), sblock.fs_cgsize, &acg,
DBG_DUMP_CG(&sblock, "new cg", &acg);
if (isset(cg_blksfree(&acg), f)) {
acg.cg_frsum[fragsize] += sign;
acg.cg_frsum[fragsize] += sign;
acg.cg_old_ncyl = sblock.fs_old_cpg;
cgckhash(&acg);
(size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag);
DBG_DUMP_CG(&sblock, "new joining cg", &acg);
acg.cg_time = modtime;
acg.cg_old_ncyl =
acg.cg_old_ncyl = sblock.fs_old_cpg;
DBG_PRINT2("%d %u", acg.cg_old_ncyl, sblock.fs_old_cpg);
acg.cg_ndblk = dmax - cbase;
sblock.fs_dsize += acg.cg_ndblk - aocg.cg_ndblk;
acg.cg_nclusterblks = acg.cg_ndblk / sblock.fs_frag;
setbit(cg_blksfree(&acg), i);
acg.cg_cs.cs_nffree++;
if (isblock(&sblock, cg_blksfree(&acg),
acg.cg_frsum[osblock.fs_size % sblock.fs_frag]--;
acg.cg_cs.cs_nbfree++;
acg.cg_cs.cs_nffree -= sblock.fs_frag;
while (isset(cg_blksfree(&acg), i) &&
acg.cg_frsum[k]--;
acg.cg_frsum[k + j]++;
setbit(cg_blksfree(&acg), i);
acg.cg_cs.cs_nffree++;
while (isset(cg_blksfree(&acg), i) &&
acg.cg_frsum[k]--;
acg.cg_frsum[k + j]++;
setblock(&sblock, cg_blksfree(&acg), j);
acg.cg_cs.cs_nbfree++;
acg.cg_frsum[dmax - cbase - i]++;
setbit(cg_blksfree(&acg), i);
acg.cg_cs.cs_nffree++;
(acg.cg_cs.cs_nffree - aocg.cg_cs.cs_nffree);
(acg.cg_cs.cs_nbfree - aocg.cg_cs.cs_nbfree);
*cs = acg.cg_cs;
cgckhash(&acg);
(void *)&acg, fso, Nflag);
DBG_DUMP_CG(&sblock, "new joining cg", &acg);
acg.cg_time = modtime;
if (isclr(cg_clustersfree(&acg), block))
setbit(cg_blksfree(&acg), d % sblock.fs_fpg);
acg.cg_cs.cs_nffree++;
if (isblock(&sblock, cg_blksfree(&acg),
acg.cg_cs.cs_nffree -= sblock.fs_frag;
acg.cg_cs.cs_nbfree++;
setbit(cg_clustersfree(&acg),
cg_clustersum(&acg)[lcs]--;
cg_clustersum(&acg)[lcs]++;
setblock(&sblock, cg_blksfree(&acg),
acg.cg_cs.cs_nbfree++;
setbit(cg_clustersfree(&acg),
cg_clustersum(&acg)[lcs]--;
cg_clustersum(&acg)[lcs]++;
*cs = acg.cg_cs;
cgckhash(&acg);
(size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag);
DBG_DUMP_CG(&sblock, "old summary cg", &acg);
bread(&disk, part_ofs + fsbtodb(&sblock, cgtod(&sblock, 0)), (char *)&acg,
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), d / sblock.fs_frag))
clrblock(&sblock, cg_blksfree(&acg), blkno);
clrbit(cg_clustersfree(&acg), blkno);
acg.cg_cs.cs_nbfree--;
acg.cg_cs.cs_ndir++;
acg.cg_cs.cs_nffree += sblock.fs_frag - frag;
acg.cg_frsum[sblock.fs_frag - frag]++;
setbit(cg_blksfree(&acg), d + i);
bread(&disk, part_ofs + fsbtodb(&sblock, cgtod(&sblock, 0)), (char *)&acg,
if (acg.cg_magic != CG_MAGIC) {
acg.cg_cs.cs_nifree--;
setbit(cg_inosused(&acg), ino);
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 = MIN(sblock.fs_ipg, 2 * INOPB(&sblock));
acg.cg_ndblk = dmax - cbase;
acg.cg_nclusterblks = acg.cg_ndblk / sblock.fs_frag;
start = sizeof(acg);
acg.cg_iusedoff = start;
acg.cg_old_ncyl = sblock.fs_old_cpg;
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 + howmany(sblock.fs_fpg, CHAR_BIT);
acg.cg_clustersumoff =
roundup(acg.cg_nextfreeoff, sizeof(u_int32_t));
acg.cg_clustersumoff -= sizeof(u_int32_t);
acg.cg_clusteroff = acg.cg_clustersumoff +
acg.cg_nextfreeoff = acg.cg_clusteroff +
if (acg.cg_nextfreeoff > (unsigned)sblock.fs_cgsize) {
acg.cg_nextfreeoff - (unsigned)sblock.fs_cgsize);
acg.cg_cs.cs_nifree += sblock.fs_ipg;
setbit(cg_inosused(&acg), i);
acg.cg_cs.cs_nifree--;
setblock(&sblock, cg_blksfree(&acg), blkno);
setbit(cg_clustersfree(&acg), blkno);
acg.cg_cs.cs_nbfree++;
acg.cg_frsum[sblock.fs_frag - i]++;
setbit(cg_blksfree(&acg), dupper);
acg.cg_cs.cs_nffree++;
for (d = dupper; d + sblock.fs_frag <= acg.cg_ndblk;
setblock(&sblock, cg_blksfree(&acg), blkno);
setbit(cg_clustersfree(&acg), blkno);
acg.cg_cs.cs_nbfree++;
if (d < acg.cg_ndblk) {
acg.cg_frsum[acg.cg_ndblk - d]++;
for (; d < acg.cg_ndblk; d++) {
setbit(cg_blksfree(&acg), d);
acg.cg_cs.cs_nffree++;
int32_t *sump = cg_clustersum(&acg);
u_char *mapp = cg_clustersfree(&acg);
for (i = 0; i < acg.cg_nclusterblks; i++) {
*cs = acg.cg_cs;
for (i = 0; i < acg.cg_initediblk; i++) {
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 = MIN(sblock.fs_ipg, 2 * INOPB(&sblock));
acg.cg_ndblk = dmax - cbase;
acg.cg_nclusterblks = acg.cg_ndblk >> sblock.fs_fragshift;
start = sizeof(acg);
acg.cg_iusedoff = start;
acg.cg_old_ncyl = howmany(acg.cg_ndblk,
acg.cg_old_ncyl = sblock.fs_old_cpg;
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 > (uint32_t)sblock.fs_cgsize) {
acg.cg_cs.cs_nifree += sblock.fs_ipg;
setbit(cg_inosused_swap(&acg, 0), i);
acg.cg_cs.cs_nifree--;
ffs_setblock(&sblock, cg_blksfree_swap(&acg, 0), blkno);
setbit(cg_clustersfree_swap(&acg, 0), blkno);
acg.cg_cs.cs_nbfree++;
acg.cg_frsum[sblock.fs_frag - i]++;
setbit(cg_blksfree_swap(&acg, 0), dupper);
acg.cg_cs.cs_nffree++;
d + sblock.fs_frag <= acg.cg_ndblk; ) {
ffs_setblock(&sblock, cg_blksfree_swap(&acg, 0), blkno);
setbit(cg_clustersfree_swap(&acg, 0), blkno);
acg.cg_cs.cs_nbfree++;
if (d < acg.cg_ndblk) {
acg.cg_frsum[acg.cg_ndblk - d]++;
for (; d < acg.cg_ndblk; d++) {
setbit(cg_blksfree_swap(&acg, 0), d);
acg.cg_cs.cs_nffree++;
int32_t *sump = cg_clustersum_swap(&acg, 0);
u_char *mapp = cg_clustersfree_swap(&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++) {