acg
if (read(h->fd, (char *)&h->acg, fsp->fs_bsize) != fsp->fs_bsize) {
cgp = (struct cg *)&h->acg;
ocgp = (struct ocg *)&h->acg;
(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), d / sblock.fs_frag);
acg.cg_cs.cs_nbfree--;
acg.cg_cs.cs_ndir++;
cg_blktot(&acg)[cbtocylno(&sblock, d)]--;
cg_blks(&sblock, &acg, cbtocylno(&sblock, d))[cbtorpos(&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), ip->i_number);
(char *)&acg);
growth_fs_frags += sblock.fs_fpg - acg.cg_ndblk;
setbit(cg_blksfree(&acg), i-cgbase(&sblock, 0));
if (isset(cg_blksfree(&acg), cfp->ofrag - cgbase(&sblock, 0))) {
(int)sblock.fs_cgsize, (char *)&acg);
(int)sblock.fs_cgsize, (char *)&acg);
clrbit(cg_blksfree(&acg), bit+j);
clrbit(cg_blksfree(&acg), cfp->ofrag - cgbase(&sblock, 0));
setbit(cg_blksfree(&acg), (frag+i) - cgbase(&sblock, cylno));
for (bit = *bitp, *bitsp = 0; bit < acg.cg_ndblk; ++bit)
if (isset(cg_blksfree(&acg), bit))
if (bit >= acg.cg_ndblk)
for (++bit; bit < acg.cg_ndblk; ++bit, ++(*bitsp)) {
if (isclr(cg_blksfree(&acg), bit))
sblock.fs_cstotal.cs_nffree -= acg.cg_cs.cs_nffree;
sblock.fs_cstotal.cs_nbfree -= acg.cg_cs.cs_nbfree;
acg.cg_cs.cs_nffree = 0;
acg.cg_cs.cs_nbfree = 0;
bzero((caddr_t)acg.cg_frsum, sizeof (acg.cg_frsum));
bzero((caddr_t)cg_blktot(&acg), (int)(acg.cg_iusedoff-acg.cg_btotoff));
acg.cg_cs.cs_nbfree++;
cg_blktot(&acg)[cno]++;
cg_blks(&sblock, &acg, cno)[cbtorpos(&sblock, bit)]++;
acg.cg_cs.cs_nffree += bits;
acg.cg_frsum[bits]++;
*(fscs + acg.cg_cgx) = acg.cg_cs;
sblock.fs_cstotal.cs_nffree += acg.cg_cs.cs_nffree;
sblock.fs_cstotal.cs_nbfree += acg.cg_cs.cs_nbfree;
dupper = acg.cg_ndblk;
acg.cg_ncyl = sblock.fs_ncyl - (sblock.fs_cpg * cylno);
acg.cg_ncyl = sblock.fs_cpg;
acg.cg_ndblk = dmax - cbase;
for (i = dupper; i < acg.cg_ndblk; ++i)
setbit(cg_blksfree(&acg), i);
sblock.fs_dsize += (acg.cg_ndblk - dupper);
struct exacct_globals *acg, *gacg = NULL;
acg = zone_getspecific(exacct_zone_key, zone);
if (acg == NULL)
exacct_do_commit_proc(&acg->ac_proc, p, wstat);
struct exacct_globals *acg;
acg = zone_getspecific(exacct_zone_key, global_zone);
ac_net = &acg->ac_net;
struct exacct_globals *acg;
acg = zone_getspecific(exacct_zone_key, global_zone);
ac_flow = &acg->ac_flow;
struct exacct_globals *acg;
acg = zone_getspecific(exacct_zone_key, zone);
if (acg == NULL)
(void) exacct_assemble_task_usage(&acg->ac_task, tk,
acg = zone_getspecific(exacct_zone_key, global_zone);
(void) exacct_assemble_task_usage(&acg->ac_task, tk,
struct exacct_globals *acg;
for (acg = list_head(&exacct_globals_list); acg != NULL;
acg = list_next(&exacct_globals_list, acg)) {
mutex_enter(&acg->ac_proc.ac_lock);
mutex_enter(&acg->ac_task.ac_lock);
mutex_enter(&acg->ac_flow.ac_lock);
mutex_enter(&acg->ac_net.ac_lock);
for (acg = list_head(&exacct_globals_list); !in_use && acg != NULL;
acg = list_next(&exacct_globals_list, acg)) {
if (vn_compare(acg->ac_proc.ac_vnode, vp) ||
vn_compare(acg->ac_task.ac_vnode, vp) ||
vn_compare(acg->ac_flow.ac_vnode, vp) ||
vn_compare(acg->ac_net.ac_vnode, vp))
for (acg = list_head(&exacct_globals_list); acg != NULL;
acg = list_next(&exacct_globals_list, acg)) {
mutex_exit(&acg->ac_proc.ac_lock);
mutex_exit(&acg->ac_task.ac_lock);
mutex_exit(&acg->ac_flow.ac_lock);
mutex_exit(&acg->ac_net.ac_lock);
struct exacct_globals *acg;
acg = zone_getspecific(exacct_zone_key, zone);
ASSERT(acg != NULL);
info = &acg->ac_task;
info = &acg->ac_proc;
info = &acg->ac_flow;
info = &acg->ac_net;
struct exacct_globals *acg;
acg = kmem_zalloc(sizeof (*acg), KM_SLEEP);
list_insert_tail(&exacct_globals_list, acg);
return (acg);
struct exacct_globals *acg = data;
exacct_free_info(&acg->ac_proc);
exacct_free_info(&acg->ac_task);
exacct_free_info(&acg->ac_flow);
exacct_free_info(&acg->ac_net);
struct exacct_globals *acg = data;
list_remove(&exacct_globals_list, acg);
mutex_destroy(&acg->ac_proc.ac_lock);
mutex_destroy(&acg->ac_task.ac_lock);
mutex_destroy(&acg->ac_flow.ac_lock);
mutex_destroy(&acg->ac_net.ac_lock);
kmem_free(acg, sizeof (*acg));
struct exacct_globals *acg;
acg = zone_getspecific(exacct_zone_key, curproc->p_zone);
error = getacct_proc(&acg->ac_proc, id, buf, bufsize, &size);
error = getacct_task(&acg->ac_task, id, buf, bufsize, &size);
struct exacct_globals *acg;
acg = zone_getspecific(exacct_zone_key, curproc->p_zone);
error = exacct_tag_proc(&acg->ac_proc, id, tkid, kbuf,
error = exacct_tag_task(&acg->ac_task, tk, kbuf,
struct exacct_globals *acg;
acg = zone_getspecific(exacct_zone_key, curproc->p_zone);
error = wracct_proc(&acg->ac_proc, id, flags, &size);
error = wracct_task(&acg->ac_task, id, flags, &size);