diff options
| author | Jens Axboe <axboe@suse.de> | 2004-03-11 15:56:40 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-03-11 15:56:40 -0800 |
| commit | 637b48c8306137e805970b07f7dec37eea9d6bb8 (patch) | |
| tree | 639e5d13b7cf3416db15f5cc9d042377039d14d9 /include/linux | |
| parent | 95902cd810f918b61eb9177dfe09a413253d84ff (diff) | |
[PATCH] user data -> request mapping
This patch allows you to map a request with user data for io, similarly
to what you can do with bio_map_user() already to a bio. However, this
goes one step further and populates the request so the user only has to
fill in the cdb (almost) and put it on the queue for execution. Patch
converts sg_io() to use it, next patch I'll send adapts cdrom layer to
use it for zero copy cdda dma extraction.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/blkdev.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 982c2ad23677..189f7977ad11 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h @@ -517,6 +517,9 @@ extern void blk_stop_queue(request_queue_t *q); extern void __blk_stop_queue(request_queue_t *q); extern void blk_run_queue(request_queue_t *q); extern void blk_queue_activity_fn(request_queue_t *, activity_fn *, void *); +extern struct request *blk_rq_map_user(request_queue_t *, int, void __user *, unsigned int); +extern int blk_rq_unmap_user(struct request *, void __user *, unsigned int); +extern int blk_execute_rq(request_queue_t *, struct gendisk *, struct request *); static inline request_queue_t *bdev_get_queue(struct block_device *bdev) { |
