aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2005-06-20 08:04:44 -0400
committerJens Axboe <axboe@suse.de>2005-06-20 08:04:44 -0400
commitdf46b9a44ceb5af2ea2351ce8e28ae7bd840b00f (patch)
tree30ab71759486f94d60af2283fc55bfffcc22155a /include/linux
parent8b22c249e7de453961e4d253b19fc2a0bdd65d53 (diff)
[PATCH] Add blk_rq_map_kern()
Add blk_rq_map_kern which takes a kernel buffer and maps it into a request and bio. This can be used by the dm hw_handlers, old sg_scsi_ioctl, and one day scsi special requests so all requests comming into scsi will have bios. All requests having bios should allow scsi to use scatter lists for all IO and allow it to use block layer functions. Signed-off-by: Jens Axboe <axboe@suse.de>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/bio.h2
-rw-r--r--include/linux/blkdev.h2
2 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/bio.h b/include/linux/bio.h
index 038022763f09..1dd2bc2e84ae 100644
--- a/include/linux/bio.h
+++ b/include/linux/bio.h
@@ -282,6 +282,8 @@ extern int bio_get_nr_vecs(struct block_device *);
282extern struct bio *bio_map_user(struct request_queue *, struct block_device *, 282extern struct bio *bio_map_user(struct request_queue *, struct block_device *,
283 unsigned long, unsigned int, int); 283 unsigned long, unsigned int, int);
284extern void bio_unmap_user(struct bio *); 284extern void bio_unmap_user(struct bio *);
285extern struct bio *bio_map_kern(struct request_queue *, void *, unsigned int,
286 unsigned int);
285extern void bio_set_pages_dirty(struct bio *bio); 287extern void bio_set_pages_dirty(struct bio *bio);
286extern void bio_check_pages_dirty(struct bio *bio); 288extern void bio_check_pages_dirty(struct bio *bio);
287extern struct bio *bio_copy_user(struct request_queue *, unsigned long, unsigned int, int); 289extern struct bio *bio_copy_user(struct request_queue *, unsigned long, unsigned int, int);
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 4a99b76c5a33..67339bc5f6bc 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -560,6 +560,8 @@ extern void blk_run_queue(request_queue_t *);
560extern void blk_queue_activity_fn(request_queue_t *, activity_fn *, void *); 560extern void blk_queue_activity_fn(request_queue_t *, activity_fn *, void *);
561extern struct request *blk_rq_map_user(request_queue_t *, int, void __user *, unsigned int); 561extern struct request *blk_rq_map_user(request_queue_t *, int, void __user *, unsigned int);
562extern int blk_rq_unmap_user(struct request *, struct bio *, unsigned int); 562extern int blk_rq_unmap_user(struct request *, struct bio *, unsigned int);
563extern struct request *blk_rq_map_kern(request_queue_t *, int, void *,
564 unsigned int, unsigned int);
563extern int blk_execute_rq(request_queue_t *, struct gendisk *, struct request *); 565extern int blk_execute_rq(request_queue_t *, struct gendisk *, struct request *);
564 566
565static inline request_queue_t *bdev_get_queue(struct block_device *bdev) 567static inline request_queue_t *bdev_get_queue(struct block_device *bdev)