Lines Matching refs:bp

53 gv_raid5_start(struct gv_plex *p, struct bio *bp, caddr_t addr, off_t boff,
63 wp->bio = bp;
68 if (bp->bio_pflags & GV_BIO_REBUILD)
69 err = gv_raid5_rebuild(p, wp, bp, addr, boff, bcount);
70 else if (bp->bio_pflags & GV_BIO_CHECK)
71 err = gv_raid5_check(p, wp, bp, addr, boff, bcount);
73 err = gv_raid5_request(p, wp, bp, addr, boff, bcount, &delay);
85 G_VINUM_LOGREQ(0, bp, "raid5 plex request failed.");
103 if (wp->bio != bp)
123 if (bp->bio_pflags & GV_BIO_INTERNAL) {
124 if (bp->bio_pflags & GV_BIO_MALLOC)
125 g_free(bp->bio_data);
126 g_destroy_bio(bp);
132 g_io_deliver(bp, err);
144 gv_stripe_active(struct gv_plex *p, struct bio *bp)
149 wp = bp->bio_caller2;
173 gv_raid5_check(struct gv_plex *p, struct gv_raid5_packet *wp, struct bio *bp,
218 cbp = gv_raid5_clone_bio(bp, s, wp, NULL, 1);
226 bq->bp = cbp;
231 cbp = gv_raid5_clone_bio(bp, parity, wp, NULL, 1);
241 cbp = gv_raid5_clone_bio(bp, parity, wp, addr, 1);
251 gv_raid5_rebuild(struct gv_plex *p, struct gv_raid5_packet *wp, struct bio *bp,
280 if (!(bp->bio_pflags & GV_BIO_REBUILD))
313 cbp = gv_raid5_clone_bio(bp, s, wp, NULL, 1);
321 bq->bp = cbp;
326 cbp = gv_raid5_clone_bio(bp, broken, wp, NULL, 1);
340 struct bio *bp, caddr_t addr, off_t boff, off_t bcount, int *delay)
349 gp = bp->bio_to->geom;
374 bioq_disksort(p->rqueue, bp);
402 bp->bio_pflags & GV_BIO_SYNCREQ && bp->bio_cmd == BIO_WRITE) {
423 bioq_disksort(p->rqueue, bp);
428 switch (bp->bio_cmd) {
444 cbp = gv_raid5_clone_bio(bp, s, wp, NULL, 1);
451 bq->bp = cbp;
457 cbp = gv_raid5_clone_bio(bp, original, wp, addr, 0);
484 cbp = gv_raid5_clone_bio(bp, s, wp, NULL, 1);
492 bq->bp = cbp;
497 cbp = gv_raid5_clone_bio(bp, parity, wp, NULL, 1);
507 cbp = gv_raid5_clone_bio(bp, original, wp, addr, 1);
514 bq->bp = cbp;
524 cbp = gv_raid5_clone_bio(bp, parity, wp, NULL, 1);
532 bq->bp = cbp;
536 cbp = gv_raid5_clone_bio(bp, original, wp, NULL, 1);
544 bq->bp = cbp;
548 cbp = gv_raid5_clone_bio(bp, original, wp, addr, 1);
560 cbp = gv_raid5_clone_bio(bp, parity, wp, NULL, 1);
640 gv_raid5_clone_bio(struct bio *bp, struct gv_sd *s, struct gv_raid5_packet *wp,
645 cbp = g_clone_bio(bp);