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