Lines Matching defs:pa
654 struct pld_ary_s *pa;
662 pa = &pdi->pld_ary[0];
664 valid = (((idx = pa->pld_pbuf_idx) < mmd->mmd_pbuf_cnt) &&
665 pa->pld_rptr != NULL && pa->pld_wptr != NULL &&
666 pa->pld_wptr >= pa->pld_rptr &&
667 pa->pld_rptr >= mmd->mmd_pbuf[idx]->b_rptr &&
668 MBLKIN(mmd->mmd_pbuf[idx], (pa->pld_rptr -
680 (void *)pa->pld_rptr,
681 (void *)pa->pld_wptr,
690 pa++;
1003 struct pld_ary_s *pa = &pdi->pld_ary[0];
1020 for (i = 0; i < c_pdi->pld_cnt; i++, pa++, c_pa++) {
1021 if (pa->pld_pbuf_idx != c_pa->pld_pbuf_idx ||
1022 pa->pld_rptr < c_pa->pld_rptr ||
1023 pa->pld_wptr > c_pa->pld_wptr)
1167 struct pld_ary_s *pa = &pdi->pld_ary[0];
1170 for (i = 0; i < pdi->pld_cnt; i++, pa++) {
1171 ASSERT(mmd->mmd_pbuf[pa->pld_pbuf_idx] != NULL);
1177 mp = dupb(mmd->mmd_pbuf[pa->pld_pbuf_idx]);
1184 mp->b_rptr = pa->pld_rptr;
1185 mp->b_wptr = pa->pld_wptr;
1274 pattr_t *pa;
1305 if ((pa = mmd_find_pattr(bkt, pai->type)) != NULL)
1308 size = sizeof (*pa) + pai->len;
1309 if ((pa = kmem_zalloc(size, kmflags)) == NULL)
1312 pa->pat_magic = PATTR_MAGIC;
1313 pa->pat_lock = &(bkt->pbkt_lock);
1314 pa->pat_mmd = mmd;
1315 pa->pat_buflen = size;
1316 pa->pat_type = pai->type;
1317 pai->buf = pai->len > 0 ? ((uchar_t *)(pa + 1)) : NULL;
1320 pa->pat_flags = PATTR_PERSIST;
1324 insque(&(pa->pat_next), bkt->pbkt_pattr_q.ql_prev);
1327 return (pa);
1380 pattr_t *pa, *pa_next;
1395 pa = Q2PATTR(bkt->pbkt_pattr_q.ql_next);
1396 while (pa != Q2PATTR(&(bkt->pbkt_pattr_q))) {
1397 ASSERT(pa->pat_magic == PATTR_MAGIC);
1398 pa_next = Q2PATTR(pa->pat_next);
1399 remque(&(pa->pat_next));
1400 kmem_free(pa, pa->pat_buflen);
1401 pa = pa_next;
1420 pattr_t *pa;
1433 pa = Q2PATTR(bkt->pbkt_pattr_q.ql_next);
1434 while (pa != Q2PATTR(&(bkt->pbkt_pattr_q))) {
1435 pattr_t *pa_next = Q2PATTR(pa->pat_next);
1438 if (pa->pat_flags & PATTR_REM_DEFER) {
1439 pa = pa_next;
1443 pai.type = pa->pat_type;
1444 pai.len = pa->pat_buflen - sizeof (*pa);
1445 if (mmd_addpattr(n_mmd, n_pd, &pai, (pa->pat_flags &
1453 bcopy(pa + 1, pai.buf, pai.len);
1455 pa = pa_next;
1469 pattr_t *pa_head, *pa;
1473 pa = Q2PATTR(bkt->pbkt_pattr_q.ql_next);
1475 while (pa != pa_head) {
1476 ASSERT(pa->pat_magic == PATTR_MAGIC);
1479 if (pa->pat_type == type && !(pa->pat_flags & PATTR_REM_DEFER))
1481 pa = Q2PATTR(pa->pat_next);
1485 return (pa == pa_head ? NULL : pa);
1492 mmd_rempattr(pattr_t *pa)
1494 kmutex_t *pat_lock = pa->pat_lock;
1496 ASSERT(pa->pat_magic == PATTR_MAGIC);
1499 if ((pa->pat_flags & PATTR_PERSIST) != 0)
1510 if (pa->pat_mmd->mmd_dp->db_ref > 1) {
1511 pa->pat_flags |= PATTR_REM_DEFER;
1513 remque(&(pa->pat_next));
1514 kmem_free(pa, pa->pat_buflen);
1526 pattr_t *pa;
1542 if ((pa = mmd_find_pattr(bkt, pai->type)) != NULL) {
1543 ASSERT(pa->pat_buflen >= sizeof (*pa));
1544 pai->len = pa->pat_buflen - sizeof (*pa);
1546 (uchar_t *)pa + sizeof (pattr_t) : NULL;
1548 ASSERT(pa == NULL || pa->pat_magic == PATTR_MAGIC);
1549 return (pa);