Lines Matching defs:ag

104 	struct acct_globals *ag;
106 ag = kmem_alloc(sizeof (*ag), KM_SLEEP);
107 bzero(&ag->acctbuf, sizeof (ag->acctbuf));
108 mutex_init(&ag->aclock, NULL, MUTEX_DEFAULT, NULL);
109 ag->acctvp = NULL;
112 list_insert_tail(&acct_list, ag);
114 return (ag);
121 struct acct_globals *ag = arg;
123 mutex_enter(&ag->aclock);
124 if (ag->acctvp) {
130 (void) VOP_CLOSE(ag->acctvp, FWRITE, 1, (offset_t)0, kcred,
132 VN_RELE(ag->acctvp);
134 ag->acctvp = NULL;
135 mutex_exit(&ag->aclock);
142 struct acct_globals *ag = arg;
145 list_remove(&acct_list, ag);
148 mutex_destroy(&ag->aclock);
149 kmem_free(ag, sizeof (*ag));
206 struct acct_globals *ag;
214 for (ag = list_head(&acct_list); ag != NULL;
215 ag = list_next(&acct_list, ag)) {
219 mutex_enter(&ag->aclock);
220 if (ag->acctvp == NULL) {
221 mutex_exit(&ag->aclock);
224 if (VOP_REALVP(ag->acctvp, &racctvp, NULL))
225 racctvp = ag->acctvp;
233 mutex_exit(&ag->aclock);
263 struct acct_globals *ag;
270 ag = zone_getspecific(acct_zone_key, curproc->p_zone);
271 ASSERT(ag != NULL);
277 mutex_enter(&ag->aclock);
278 vp = ag->acctvp;
279 ag->acctvp = NULL;
280 mutex_exit(&ag->aclock);
311 mutex_enter(&ag->aclock);
312 if (ag->acctvp) {
319 oldvp = ag->acctvp;
320 ag->acctvp = vp;
326 ag->acctvp = vp;
329 mutex_exit(&ag->aclock);
385 struct acct_globals *ag;
391 ag = zone_getspecific(acct_zone_key, curproc->p_zone);
392 if (ag == NULL)
395 mutex_enter(&ag->aclock);
396 if ((vp = ag->acctvp) == NULL) {
397 mutex_exit(&ag->aclock);
407 bcopy(ua->u_comm, ag->acctbuf.ac_comm, sizeof (ag->acctbuf.ac_comm));
408 ag->acctbuf.ac_btime = ua->u_start.tv_sec;
409 ag->acctbuf.ac_utime = acct_compress(NSEC_TO_TICK(p->p_acct[LMS_USER]));
410 ag->acctbuf.ac_stime = acct_compress(
412 ag->acctbuf.ac_etime = acct_compress(ddi_get_lbolt() - ua->u_ticks);
413 ag->acctbuf.ac_mem = acct_compress((ulong_t)ua->u_mem);
414 ag->acctbuf.ac_io = acct_compress((ulong_t)p->p_ru.ioch);
415 ag->acctbuf.ac_rw = acct_compress((ulong_t)(p->p_ru.inblock +
418 ag->acctbuf.ac_uid = crgetruid(cr);
419 ag->acctbuf.ac_gid = crgetrgid(cr);
420 (void) cmpldev(&ag->acctbuf.ac_tty, cttydev(p));
421 ag->acctbuf.ac_stat = st;
422 ag->acctbuf.ac_flag = (ua->u_acflag | AEXPND);
434 error = vn_rdwr(UIO_WRITE, vp, (caddr_t)&ag->acctbuf,
435 sizeof (ag->acctbuf), 0LL, UIO_SYSSPACE, FAPPEND,
440 mutex_exit(&ag->aclock);