acg
(char *)&acg);
if (!cg_chkmagic(&acg)) {
if (isclr(cg_blksfree(&acg), bn))
if (pread(fd, &acg, afs.fs_bsize, cur) != afs.fs_bsize) {
cgtime = acg.cg_ffs2_time;
acg.cg_magic, (intmax_t)cur, ct);
acg.cg_magic, (intmax_t)cur, cgtime);
acg.cg_cgx, acg.cg_ndblk, acg.cg_ffs2_niblk,
acg.cg_initediblk);
cgtime = acg.cg_time;
((struct ocg *)&acg)->cg_magic : acg.cg_magic,
((struct ocg *)&acg)->cg_magic : acg.cg_magic,
acg.cg_cgx, acg.cg_ncyl, 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%u", 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);
if (cg_blktot(&acg)[i] == 0)
printf(" c%d:\t(%d)\t", i, cg_blktot(&acg)[i]);
*cs = acg.cg_cs;
(size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag);
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;
(size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag);
if (isclr(cg_blksfree(&acg), d)) {
clrbit(cg_blksfree(&acg), d);
acg.cg_cs.cs_nffree--;
if (!isblock(&sblock, cg_blksfree(&acg), d / sblock.fs_frag)) {
acg.cg_cs.cs_nffree--;
clrblock(&sblock, cg_blksfree(&acg), d / sblock.fs_frag);
clrblock(&sblock, cg_blksfree(&acg), d / sblock.fs_frag);
acg.cg_cs.cs_nbfree--;
clrbit(cg_clustersfree(&acg), d / sblock.fs_frag);
if (isclr(cg_clustersfree(&acg), l))
cg_clustersum(&acg)[lcs + 1]--;
cg_clustersum(&acg)[lcs]++;
if (isblock(&sblock, cg_blksfree(&acg), d / sblock.fs_frag)) {
acg.cg_cs.cs_nbfree--;
acg.cg_cs.cs_nffree+=sblock.fs_frag;
clrbit(cg_clustersfree(&acg), d / sblock.fs_frag);
if (isclr(cg_clustersfree(&acg), l))
cg_clustersum(&acg)[lcs + 1]--;
cg_clustersum(&acg)[lcs]++;
if (isclr(cg_blksfree(&acg), d)) {
clrbit(cg_blksfree(&acg), d);
acg.cg_cs.cs_nffree--;
setbit(cg_blksfree(&acg), g);
acg.cg_cs.cs_nffree++;
setbit(cg_blksfree(&acg), g);
acg.cg_cs.cs_nffree++;
if (isclr(cg_blksfree(&acg), f)) {
setbit(cg_blksfree(&acg), f);
acg.cg_cs.cs_nffree++;
*cs = acg.cg_cs;
(void *)&acg, fso, Nflag);
if (acg.cg_magic != CG_MAGIC) {
if (acg.cg_cs.cs_nbfree == 0) {
dlower = cgsblock(&sblock, acg.cg_cgx) - cgbase(&sblock, acg.cg_cgx);
dupper = cgdmin(&sblock, acg.cg_cgx) - cgbase(&sblock, acg.cg_cgx);
dmax = cgbase(&sblock, acg.cg_cgx) + sblock.fs_fpg;
dmax -= cgbase(&sblock, acg.cg_cgx); /* retransform into cg */
csmin=sblock.fs_csaddr-cgbase(&sblock, acg.cg_cgx);
if (isblock(&sblock, cg_blksfree(&acg), fragstoblks(&sblock,
if (isblock(&sblock, cg_blksfree(&acg), fragstoblks(&sblock,
clrblock(&sblock, cg_blksfree(&acg), blkno);
clrbit(cg_clustersfree(&acg), blkno);
if (isclr(cg_clustersfree(&acg), l))
if (isclr(cg_clustersfree(&acg), l))
cg_clustersum(&acg)[MINIMUM(lcs1 + lcs2 + 1, sblock.fs_contigsumsize)]--;
cg_clustersum(&acg)[lcs1]++;
cg_clustersum(&acg)[lcs2]++;
acg.cg_cs.cs_nbfree--;
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_ffs2_time = utime;
acg.cg_magic = CG_MAGIC;
acg.cg_cgx = cg;
acg.cg_ffs2_niblk = sblock.fs_ipg;
acg.cg_initediblk = MINIMUM(sblock.fs_ipg, 2 * INOPB(&sblock));
acg.cg_ndblk = dmax - cbase;
acg.cg_nclusterblks = acg.cg_ndblk / sblock.fs_frag;
acg.cg_iusedoff = start;
acg.cg_ncyl = sblock.fs_ncyl % sblock.fs_cpg;
acg.cg_ncyl = sblock.fs_cpg;
acg.cg_time = (int32_t)acg.cg_ffs2_time;
acg.cg_ffs2_time = 0;
acg.cg_niblk = (int16_t)acg.cg_ffs2_niblk;
acg.cg_ffs2_niblk = 0;
acg.cg_initediblk = 0;
acg.cg_btotoff = start;
acg.cg_boff = acg.cg_btotoff +
acg.cg_iusedoff = acg.cg_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 > 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++;
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;
bcopy(&acg, &iobuf[start], sblock.fs_cgsize);
if (isset(cg_blksfree(&acg), f)) {
acg.cg_frsum[fragsize] += sign;
acg.cg_frsum[fragsize] += sign;
acg.cg_ncyl = sblock.fs_cpg;
(size_t)sblock.fs_cgsize, (void *)&acg, fso, Nflag);
acg.cg_time = utime;
acg.cg_ncyl = sblock.fs_ncyl % sblock.fs_cpg;
acg.cg_ncyl = sblock.fs_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;
(void *)&acg, fso, Nflag);
acg.cg_time = utime;
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)
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]++;
memset(&acg, 0, sblock.fs_cgsize);
acg.cg_ffs2_time = utime;
acg.cg_magic = CG_MAGIC;
acg.cg_cgx = cg;
acg.cg_ffs2_niblk = sblock.fs_ipg;
acg.cg_initediblk = MINIMUM(sblock.fs_ipg, 2 * INOPB(&sblock));
acg.cg_ndblk = dmax - cbase;
acg.cg_ncyl = 0;
acg.cg_ncyl = sblock.fs_cpg;
acg.cg_time = acg.cg_ffs2_time;
acg.cg_ffs2_time = 0;
acg.cg_niblk = acg.cg_ffs2_niblk;
acg.cg_ffs2_niblk = 0;
acg.cg_initediblk = 0;
acg.cg_btotoff = start;
acg.cg_boff = acg.cg_btotoff + sblock.fs_cpg * sizeof(int32_t);
acg.cg_iusedoff = acg.cg_boff +
acg.cg_iusedoff = start;
acg.cg_freeoff = acg.cg_iusedoff + howmany(sblock.fs_ipg, CHAR_BIT);
acg.cg_nextfreeoff = acg.cg_freeoff + howmany(sblock.fs_fpg, CHAR_BIT);
if (acg.cg_nextfreeoff > sblock.fs_cgsize)
acg.cg_nextfreeoff, 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);
acg.cg_cs.cs_nbfree++;
cg_blktot(&acg)[cbtocylno(&sblock, d)]++;
cg_blks(&sblock, &acg, cbtocylno(&sblock, d))
acg.cg_frsum[sblock.fs_frag - i]++;
setbit(cg_blksfree(&acg), dupper);
acg.cg_cs.cs_nffree++;
d + sblock.fs_frag <= acg.cg_ndblk;
setblock(&sblock, cg_blksfree(&acg), blkno);
acg.cg_cs.cs_nbfree++;
cg_blktot(&acg)[cbtocylno(&sblock, d)]++;
cg_blks(&sblock, &acg, cbtocylno(&sblock, d))
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++;
*cs = acg.cg_cs;
if (cg == 0 && acg.cg_cs.cs_nbfree == 0)
bcopy((char *)&acg, &iobuf[start], sblock.fs_cgsize);
(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);
acg.cg_cs.cs_nbfree--;
acg.cg_cs.cs_ndir++;
cg_blktot(&acg)[cbtocylno(&sblock, d)]--;
cg_blks(&sblock, &acg, cbtocylno(&sblock, d))
acg.cg_cs.cs_nffree += sblock.fs_frag - frag;
acg.cg_frsum[sblock.fs_frag - frag]++;
setbit(cg_blksfree(&acg), d + i);
(char *)&acg);
(char *)&acg);
if (acg.cg_magic != CG_MAGIC)
acg.cg_cs.cs_nifree--;
setbit(cg_inosused(&acg), ino);
(char *)&acg);
memset(&acg, 0, sblock.fs_cgsize);
acg.cg_ffs2_time = utime;
acg.cg_magic = CG_MAGIC;
acg.cg_cgx = cylno;
acg.cg_ffs2_niblk = sblock.fs_ipg;
acg.cg_initediblk = sblock.fs_ipg < 2 * INOPB(&sblock) ?
acg.cg_ndblk = dmax - cbase;
acg.cg_nclusterblks = acg.cg_ndblk >> sblock.fs_fragshift;
acg.cg_iusedoff = start;
acg.cg_ncyl = howmany(acg.cg_ndblk,
acg.cg_ncyl = sblock.fs_cpg;
acg.cg_time = acg.cg_ffs2_time;
acg.cg_ffs2_time = 0;
acg.cg_niblk = acg.cg_ffs2_niblk;
acg.cg_ffs2_niblk = 0;
acg.cg_initediblk = 0;
acg.cg_btotoff = start;
acg.cg_boff = acg.cg_btotoff + sblock.fs_cpg * sizeof(int32_t);
acg.cg_iusedoff = acg.cg_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 > sblock.fs_cgsize) {
acg.cg_cs.cs_nifree += sblock.fs_ipg;
setbit(cg_inosused(&acg), r);
acg.cg_cs.cs_nifree--;
ffs_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++;
d + sblock.fs_frag <= acg.cg_ndblk; ) {
ffs_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_cs(&sblock, cylno) = acg.cg_cs;
memcpy(&iobuf[start], &acg, sblock.fs_cgsize);
for (i = 0; i < acg.cg_initediblk; i++) {