diff options
author | Mike Christie <michaelc@cs.wisc.edu> | 2007-05-08 13:12:23 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2007-05-08 13:12:23 -0400 |
commit | 821de3a27bf33f11ec878562577c586cd5f83c64 (patch) | |
tree | e18a967de53b5f5eb0c44ee59f1960b5169fd5bf /block/ll_rw_blk.c | |
parent | 86aa5ac53e478c94ee39a15b6eadde1ed1317be3 (diff) |
[PATCH] ll_rw_blk: fix missing bounce in blk_rq_map_kern()
I think we might just need the blk_map_kern users now. For the async
execute I added the bounce code already and the block SG_IO has it
atleady. I think the blk_map_kern bounce code got dropped because we
thought the correct gfp_t would be passed in. But I think all we need is
the patch below and all the paths are take care of. The patch is not
tested. Patch was made against scsi-misc.
The last place that is sending non sg commands may just be md/dm-emc.c
but that is is just waiting on alasdair to take some patches that fix
that and a bunch of junk in there including adding bounce support. If
the patch below is ok though and dm-emc finally gets converted then it
will have sg and bonce buffer support.
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block/ll_rw_blk.c')
-rw-r--r-- | block/ll_rw_blk.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 5873861e1dbb..d99d402953a3 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
@@ -2558,6 +2558,7 @@ int blk_rq_map_kern(request_queue_t *q, struct request *rq, void *kbuf, | |||
2558 | bio->bi_rw |= (1 << BIO_RW); | 2558 | bio->bi_rw |= (1 << BIO_RW); |
2559 | 2559 | ||
2560 | blk_rq_bio_prep(q, rq, bio); | 2560 | blk_rq_bio_prep(q, rq, bio); |
2561 | blk_queue_bounce(q, &rq->bio); | ||
2561 | rq->buffer = rq->data = NULL; | 2562 | rq->buffer = rq->data = NULL; |
2562 | return 0; | 2563 | return 0; |
2563 | } | 2564 | } |