/* Prepares and returns a bio for indirect user io, bouncing data to/from kernel pages as necessary. Must be paired with call bio_uncopy_user() on io completion.  */
struct bio* bio_copy_user(struct request_queue *q, struct rq_map_data *map_data, unsigned long uaddr, unsigned int len, int write_to_vm, gfp_t gfp_mask)
/* Prepares and returns a bio for indirect user io, bouncing data to/from kernel pages as necessary. Must be paired with call bio_uncopy_user() on io completion.  */
struct bio* bio_copy_user(struct request_queue *q, struct rq_map_data *map_data, unsigned long uaddr, unsigned int len, int write_to_vm, gfp_t gfp_mask)
{
	struct sg_iovec iov;
	iov.iov_base = (void __user *)uaddr;
	iov.iov_len = len;
	return bio_copy_user_iov(q, map_data, &iov, 1, write_to_vm, gfp_mask);
}