summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorJens Axboe <axboe@suse.de>2004-03-11 15:56:40 -0800
committerLinus Torvalds <torvalds@ppc970.osdl.org>2004-03-11 15:56:40 -0800
commit637b48c8306137e805970b07f7dec37eea9d6bb8 (patch)
tree639e5d13b7cf3416db15f5cc9d042377039d14d9 /include/linux
parent95902cd810f918b61eb9177dfe09a413253d84ff (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.h3
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)
{