Lines Matching refs:pbp
658 struct bio *pbp;
770 pbp = bp->bio_parent;
771 pbp->bio_inbed++;
792 if (pbp->bio_children == 1)
799 mask = (uintptr_t *)(&pbp->bio_driver2);
800 if (pbp->bio_children == 1) {
802 pbp->bio_driver1 = do_write ? sd : NULL;
806 nsd = g_raid_tr_raid1_select_read_disk(vol, pbp, *mask);
807 if (nsd != NULL && (cbp = g_clone_bio(pbp)) != NULL) {
811 if (pbp->bio_children == 2 && do_write) {
814 pbp->bio_pflags = G_RAID_BIO_FLAG_LOCKED;
817 cbp->bio_offset, cbp->bio_length, pbp, cbp);
833 pbp->bio_children > 1 &&
834 pbp->bio_driver1 != NULL) {
847 cbp = g_clone_bio(pbp);
854 g_raid_subdisk_iostart(pbp->bio_driver1, cbp);
858 if (pbp->bio_pflags & G_RAID_BIO_FLAG_LOCKED) {
874 if (pbp->bio_driver1 != NULL) {
875 ((struct g_raid_subdisk *)pbp->bio_driver1)
882 if (pbp->bio_cmd != BIO_READ) {
883 if (pbp->bio_inbed == 1 || pbp->bio_error != 0)
884 pbp->bio_error = bp->bio_error;
885 if (pbp->bio_cmd == BIO_WRITE && bp->bio_error != 0) {
889 error = pbp->bio_error;
893 if (pbp->bio_children == pbp->bio_inbed) {
894 pbp->bio_completed = pbp->bio_length;
895 g_raid_iodone(pbp, error);