Lines Matching refs:bio
184 static blk_qc_t xpram_make_request(struct request_queue *q, struct bio *bio) in xpram_make_request() argument
186 xpram_device_t *xdev = bio->bi_bdev->bd_disk->private_data; in xpram_make_request()
193 blk_queue_split(q, &bio, q->bio_split); in xpram_make_request()
195 if ((bio->bi_iter.bi_sector & 7) != 0 || in xpram_make_request()
196 (bio->bi_iter.bi_size & 4095) != 0) in xpram_make_request()
199 if ((bio->bi_iter.bi_size >> 12) > xdev->size) in xpram_make_request()
202 if ((bio->bi_iter.bi_sector >> 3) > 0xffffffffU - xdev->offset) in xpram_make_request()
204 index = (bio->bi_iter.bi_sector >> 3) + xdev->offset; in xpram_make_request()
205 bio_for_each_segment(bvec, bio, iter) { in xpram_make_request()
213 if (bio_data_dir(bio) == READ) { in xpram_make_request()
225 bio_endio(bio); in xpram_make_request()
228 bio_io_error(bio); in xpram_make_request()