/* Simple bounce buffer support for highmem pages. Depending on the queue gfp mask set, *to may or may not be a highmem page. kmap it always, it will do the Right Thing  */
static void copy_to_high_bio_irq(struct bio *to, struct bio *from)
/* Simple bounce buffer support for highmem pages. Depending on the queue gfp mask set, *to may or may not be a highmem page. kmap it always, it will do the Right Thing  */
static void copy_to_high_bio_irq(struct bio *to, struct bio *from)
{
	unsigned char *vfrom;
	struct bio_vec *tovec, *fromvec;
	int i;
	__bio_for_each_segment(tovec, to, i, 0) {
		fromvec = from->bi_io_vec + i;
		if (tovec->bv_page == fromvec->bv_page)
			continue;
		vfrom = page_address(fromvec->bv_page) + tovec->bv_offset;
		flush_dcache_page(tovec->bv_page);
		bounce_copy_vec(tovec, vfrom);
	}
}