Lines Matching refs:bp

258 	struct	 buf *bp;  in dsngl_deque()  local
290 bp = dsnglp->ds_bp; in dsngl_deque()
296 TGCOM_TRANSPORT(tgcom_objp, bp); in dsngl_deque()
393 struct buf *bp; in dmult_deque() local
433 bp = dmultp->ds_bp; in dmult_deque()
441 TGCOM_TRANSPORT(tgcom_objp, bp); in dmult_deque()
466 static int duplx_enque(opaque_t queuep, struct buf *bp);
467 static int duplx_deque(opaque_t queuep, struct buf *bp);
549 struct buf *bp; in duplx_enque() local
590 bp = activeq->fc_bp; in duplx_enque()
597 TGCOM_TRANSPORT(tgcom_objp, bp); in duplx_enque()
612 struct buf *bp; in duplx_deque() local
662 bp = activeq->fc_bp; in duplx_deque()
670 TGCOM_TRANSPORT(tgcom_objp, bp); in duplx_deque()
770 struct buf *bp; in que_del() local
772 bp = qfp->q_tab.b_actf; in que_del()
773 if (bp) { in que_del()
774 qfp->q_tab.b_actf = bp->av_forw; in que_del()
777 bp->av_forw = 0; in que_del()
779 return (bp); in que_del()
813 #define DBLK(bp) ((unsigned long)(bp)->b_private) argument
902 qmerge_mergesetup(bp_merge, bp) in qmerge_mergesetup() argument
903 struct buf *bp_merge, *bp; in qmerge_mergesetup()
910 forward = DBLK(bp_merge) < DBLK(bp);
912 bp_merge->b_bcount += bp->b_bcount;
914 pp = bp->b_pages;
926 bp1->av_back->av_forw = bp;
927 bp->av_back = bp1->av_back;
928 bp1->av_back = bp;
929 bp->av_forw = bp1;
932 bp_merge->b_forw = bp;
934 bp_merge->b_private = bp->b_private;
939 que_insert(struct que_data *qfp, struct buf *bp) in que_insert() argument
952 if (bp->av_back) in que_insert()
953 bp->b_error = (intptr_t)bp->av_back; in que_insert()
955 ((bp->b_flags & (B_ASYNC|B_READ|B_FREE)) == B_ASYNC)) { in que_insert()
963 *bpp = bp; in que_insert()
964 bp->av_forw = bp->av_back = bp; in que_insert()
976 if (DBLK(bp) < DBLK(bp1)) { in que_insert()
980 if (DBLK(bp) > DBLK(bp1)) { in que_insert()
981 bp->av_forw = bp1->av_forw; in que_insert()
982 bp1->av_forw->av_back = bp; in que_insert()
983 bp1->av_forw = bp; in que_insert()
984 bp->av_back = bp1; in que_insert()
990 BP_GT_HD(bp, dp)) { in que_insert()
991 *bpp = bp; in que_insert()
1001 bp->av_forw = lowest_bp; in que_insert()
1002 lowest_bp->av_back->av_forw = bp; in que_insert()
1003 bp->av_back = lowest_bp->av_back; in que_insert()
1004 lowest_bp->av_back = bp; in que_insert()
1006 *bpp = bp; in que_insert()
1008 BP_GT_HD(bp, dp)) { in que_insert()
1009 *bpp = bp; in que_insert()
1015 if (DBLK(bp) < DBLK(bp1)) { in que_insert()
1016 bp->av_forw = bp1; in que_insert()
1017 bp1->av_back->av_forw = bp; in que_insert()
1018 bp->av_back = bp1->av_back; in que_insert()
1019 bp1->av_back = bp; in que_insert()
1024 BP_LT_HD(bp, dp)) { in que_insert()
1025 *bpp = bp; in que_insert()
1035 bp->av_back = highest_bp; in que_insert()
1036 highest_bp->av_forw->av_back = bp; in que_insert()
1037 bp->av_forw = highest_bp->av_forw; in que_insert()
1038 highest_bp->av_forw = bp; in que_insert()
1042 (dp->hd_flags & QNEAR_BACKWARD) && (BP_LT_HD(bp, dp))) in que_insert()
1043 *bpp = bp; in que_insert()
1053 qmerge_add(struct que_data *qfp, struct buf *bp) in qmerge_add() argument
1056 que_insert(qfp, bp); in qmerge_add()
1061 qmerge_iodone(struct buf *bp) in qmerge_iodone() argument
1066 if (bp->b_flags & B_REMAPPED) in qmerge_iodone()
1067 bp_mapout(bp); in qmerge_iodone()
1069 bp1 = bp->b_forw; in qmerge_iodone()
1071 bp->b_forw = bp1->av_forw; in qmerge_iodone()
1075 pp1 = bp->b_forw->b_pages; in qmerge_iodone()
1084 if (bp->b_flags & B_ERROR) { in qmerge_iodone()
1085 bp1->b_error = bp->b_error; in qmerge_iodone()
1090 } while ((bp1 = bp->b_forw) != bp->b_forw->av_forw); in qmerge_iodone()
1093 kmem_free(bp, sizeof (*bp)); in qmerge_iodone()
1105 struct buf *sync_bp, *async_bp, *bp; in qmerge_nextbp() local
1118 bp = *async_bpp; in qmerge_nextbp()
1119 private = DBLK(bp); in qmerge_nextbp()
1120 if (bp_merge && !qmerge_can_merge(bp, bp_merge)) { in qmerge_nextbp()
1122 } else if (bp->av_forw == bp) { in qmerge_nextbp()
1123 bp->av_forw = bp->av_back = NULL; in qmerge_nextbp()
1127 if (DBLK(bp) < DBLK(bp->av_back)) { in qmerge_nextbp()
1131 } else if (DBLK(bp) > DBLK(bp->av_forw)) { in qmerge_nextbp()
1138 private = DBLK(bp->av_forw); in qmerge_nextbp()
1157 bp = *async_bpp; in qmerge_nextbp()
1160 bp = *sync_bpp; in qmerge_nextbp()
1164 bp = *async_bpp; in qmerge_nextbp()
1167 bp = *sync_bpp; in qmerge_nextbp()
1187 bp = *async_bpp; in qmerge_nextbp()
1190 bp = *sync_bpp; in qmerge_nextbp()
1194 bp = *async_bpp; in qmerge_nextbp()
1197 bp = *sync_bpp; in qmerge_nextbp()
1200 if (bp_merge && !qmerge_can_merge(bp, bp_merge)) { in qmerge_nextbp()
1202 } else if (bp->av_forw == bp) { in qmerge_nextbp()
1203 bp->av_forw = bp->av_back = NULL; in qmerge_nextbp()
1211 private = DBLK(bp); in qmerge_nextbp()
1213 bp = *sync_bpp; in qmerge_nextbp()
1214 private = DBLK(bp); in qmerge_nextbp()
1215 if (bp_merge && !qmerge_can_merge(bp, bp_merge)) { in qmerge_nextbp()
1217 } else if (bp->av_forw == bp) { in qmerge_nextbp()
1220 bp->av_forw = bp->av_back = NULL; in qmerge_nextbp()
1225 if (DBLK(bp) < DBLK(bp->av_back)) { in qmerge_nextbp()
1239 } else if (DBLK(bp) > DBLK(bp->av_forw)) { in qmerge_nextbp()
1243 private = DBLK(bp); in qmerge_nextbp()
1257 private = DBLK(bp->av_forw); in qmerge_nextbp()
1262 if (bp->av_forw) { in qmerge_nextbp()
1263 *can_merge = !(bp->b_flags & B_READ); in qmerge_nextbp()
1265 *bpp = bp->av_back; in qmerge_nextbp()
1266 if ((DBLK(bp->av_back) + in qmerge_nextbp()
1267 bp->av_back->b_bcount / DEV_BSIZE) != DBLK(bp)) in qmerge_nextbp()
1270 *bpp = bp->av_forw; in qmerge_nextbp()
1271 if ((DBLK(bp) + bp->b_bcount / DEV_BSIZE) != in qmerge_nextbp()
1272 DBLK(bp->av_forw)) in qmerge_nextbp()
1275 bp->av_forw->av_back = bp->av_back; in qmerge_nextbp()
1276 bp->av_back->av_forw = bp->av_forw; in qmerge_nextbp()
1277 bp->av_forw = bp->av_back = NULL; in qmerge_nextbp()
1285 if (bp->b_error) { in qmerge_nextbp()
1286 bp->av_back = (void *)(intptr_t)bp->b_error; in qmerge_nextbp()
1287 bp->b_error = 0; in qmerge_nextbp()
1289 return (bp); in qmerge_nextbp()
1295 struct buf *bp, *next_bp, *bp_merge; in qmerge_del() local
1302 bp_merge = bp = qmerge_nextbp(qfp, NULL, &merge); in qmerge_del()
1309 return (bp); in qmerge_del()
1311 bcopy(bp, bp_merge, sizeof (*bp_merge)); in qmerge_del()
1313 bp_merge->b_forw = bp; in qmerge_del()
1315 bp->av_forw = bp->av_back = bp; in qmerge_del()
1350 qfifo_add(struct que_data *qfp, struct buf *bp) in qfifo_add() argument
1354 qfp->q_tab.b_actf = bp; in qfifo_add()
1356 qfp->q_tab.b_actl->av_forw = bp; in qfifo_add()
1357 qfp->q_tab.b_actl = bp; in qfifo_add()
1358 bp->av_forw = NULL; in qfifo_add()
1370 static void oneway_scan_binary(struct diskhd *dp, struct buf *bp);
1390 qsort_add(struct que_data *qfp, struct buf *bp) in qsort_add() argument
1393 oneway_scan_binary(&qfp->q_tab, bp); in qsort_add()
1401 oneway_scan_binary(struct diskhd *dp, struct buf *bp) in oneway_scan_binary() argument
1407 dp->b_actf = bp; in oneway_scan_binary()
1408 bp->av_forw = NULL; in oneway_scan_binary()
1411 if (DBLK(bp) < DBLK(ap)) { in oneway_scan_binary()
1413 if ((ap == NULL) || (DBLK(bp) < DBLK(ap))) { in oneway_scan_binary()
1414 dp->b_pasf = bp; in oneway_scan_binary()
1415 bp->av_forw = ap; in oneway_scan_binary()
1420 if (DBLK(bp) < DBLK(ap->av_forw)) in oneway_scan_binary()
1424 bp->av_forw = ap->av_forw; in oneway_scan_binary()
1425 ap->av_forw = bp; in oneway_scan_binary()
1431 struct buf *bp; in qsort_del() local
1437 bp = qfp->q_tab.b_actf; in qsort_del()
1438 qfp->q_tab.b_actf = bp->av_forw; in qsort_del()
1439 bp->av_forw = 0; in qsort_del()
1444 return (bp); in qsort_del()