Lines Matching refs:iobp
1034 struct tgdk_iob *iobp;
1037 iobp = kmem_zalloc(sizeof (*iobp), kmsflg);
1038 if (iobp == NULL)
1041 kmem_free(iobp, sizeof (*iobp));
1045 iobp->b_psec = LBLK2SEC(blkno, dadkp->dad_blkshf);
1046 iobp->b_pbyteoff = (blkno & ((1<<dadkp->dad_blkshf) - 1)) << SCTRSHFT;
1047 iobp->b_pbytecnt = ((iobp->b_pbyteoff + xfer + dadkp->DAD_SECSIZ - 1)
1056 (size_t)iobp->b_pbytecnt, ((kmsflg == KM_SLEEP) ? 1 : 0), 0, NULL,
1059 kmem_free(iobp, sizeof (*iobp));
1062 iobp->b_flag |= IOB_BPALLOC | IOB_BPBUFALLOC;
1063 iobp->b_bp = bp;
1064 iobp->b_lblk = blkno;
1065 iobp->b_xfer = xfer;
1066 iobp->b_lblk = blkno;
1067 iobp->b_xfer = xfer;
1068 return (iobp);
1073 dadk_iob_free(opaque_t objp, struct tgdk_iob *iobp)
1077 if (iobp) {
1078 if (iobp->b_bp && (iobp->b_flag & IOB_BPALLOC)) {
1079 bp = iobp->b_bp;
1080 if (bp->b_un.b_addr && (iobp->b_flag & IOB_BPBUFALLOC))
1084 kmem_free(iobp, sizeof (*iobp));
1091 dadk_iob_htoc(opaque_t objp, struct tgdk_iob *iobp)
1093 return (iobp->b_bp->b_un.b_addr+iobp->b_pbyteoff);
1098 dadk_iob_xfer(opaque_t objp, struct tgdk_iob *iobp, int rw)
1104 bp = iobp->b_bp;
1111 bp->b_bcount = iobp->b_pbytecnt;
1112 SET_BP_SEC(bp, iobp->b_psec);
1123 bp->b_bcount = iobp->b_xfer;
1129 return (bp->b_un.b_addr+iobp->b_pbyteoff);