Lines Matching defs:bmd
459 static void bio_set_map_data(struct bio_map_data *bmd, struct bio *bio)
461 memcpy(bmd->iovecs, bio->bi_io_vec, sizeof(struct bio_vec) * bio->bi_vcnt);
462 bio->bi_private = bmd;
465 static void bio_free_map_data(struct bio_map_data *bmd)
467 kfree(bmd->iovecs);
468 kfree(bmd);
473 struct bio_map_data *bmd = kmalloc(sizeof(*bmd), GFP_KERNEL);
475 if (!bmd)
478 bmd->iovecs = kmalloc(sizeof(struct bio_vec) * nr_segs, GFP_KERNEL);
479 if (bmd->iovecs)
480 return bmd;
482 kfree(bmd);
495 struct bio_map_data *bmd = bio->bi_private;
502 unsigned int len = bmd->iovecs[i].bv_len;
504 if (read && !ret && copy_to_user(bmd->userptr, addr, len))
508 bmd->userptr += len;
510 bio_free_map_data(bmd);
531 struct bio_map_data *bmd;
537 bmd = bio_alloc_map_data(end - start);
538 if (!bmd)
541 bmd->userptr = (void __user *) uaddr;
591 bio_set_map_data(bmd, bio);
599 bio_free_map_data(bmd);