Lines Matching refs:bio
850 static void pscsi_bi_endio(struct bio *bio, int error) in pscsi_bi_endio() argument
852 bio_put(bio); in pscsi_bi_endio()
855 static inline struct bio *pscsi_get_bio(int nr_vecs) in pscsi_get_bio()
857 struct bio *bio; in pscsi_get_bio() local
862 bio = bio_kmalloc(GFP_KERNEL, nr_vecs); in pscsi_get_bio()
863 if (!bio) { in pscsi_get_bio()
867 bio->bi_end_io = pscsi_bi_endio; in pscsi_get_bio()
869 return bio; in pscsi_get_bio()
874 enum dma_data_direction data_direction, struct bio **hbio) in pscsi_map_sg()
877 struct bio *bio = NULL, *tbio = NULL; in pscsi_map_sg() local
909 if (!bio) { in pscsi_map_sg()
915 bio = pscsi_get_bio(nr_vecs); in pscsi_map_sg()
916 if (!bio) in pscsi_map_sg()
920 bio->bi_rw |= REQ_WRITE; in pscsi_map_sg()
923 " dir: %s nr_vecs: %d\n", bio, in pscsi_map_sg()
932 *hbio = tbio = bio; in pscsi_map_sg()
934 tbio = tbio->bi_next = bio; in pscsi_map_sg()
938 " bio: %p page: %p len: %d off: %d\n", i, bio, in pscsi_map_sg()
942 bio, page, bytes, off); in pscsi_map_sg()
947 bio->bi_vcnt, nr_vecs); in pscsi_map_sg()
949 if (bio->bi_vcnt > nr_vecs) { in pscsi_map_sg()
952 " bio\n", bio->bi_vcnt, i, bio); in pscsi_map_sg()
959 bio = NULL; in pscsi_map_sg()
969 bio = *hbio; in pscsi_map_sg()
971 bio_endio(bio, 0); /* XXX: should be error */ in pscsi_map_sg()
994 struct bio *hbio; in pscsi_execute_cmd()
1057 struct bio *bio = hbio; in pscsi_execute_cmd() local
1059 bio_endio(bio, 0); /* XXX: should be error */ in pscsi_execute_cmd()