aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2011-07-31 16:05:09 -0400
committerJens Axboe <jaxboe@fusionio.com>2011-07-31 16:05:09 -0400
commitaa387cc895672b00f807ad7c734a2defaf677712 (patch)
tree31c2c3f3e0d58ff2524cdf8f94abecc394f5eb49 /include/linux/blkdev.h
parent24c3047095fa3954f114bfff2e37b8fcbb216396 (diff)
block: add bsg helper library
This moves the FC classes bsg code to the block layer and makes it a lib so that other classes like iscsi and SAS can use it. It is helpful because working with the request queue, bios, creating scatterlists, etc are a pain that the LLD does not have to worry about with normal IOs and should not have to worry about for bsg requests. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 0e67c45b3bc9..847928546076 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -30,6 +30,7 @@ struct request_pm_state;
30struct blk_trace; 30struct blk_trace;
31struct request; 31struct request;
32struct sg_io_hdr; 32struct sg_io_hdr;
33struct bsg_job;
33 34
34#define BLKDEV_MIN_RQ 4 35#define BLKDEV_MIN_RQ 4
35#define BLKDEV_MAX_RQ 128 /* Default maximum */ 36#define BLKDEV_MAX_RQ 128 /* Default maximum */
@@ -209,6 +210,7 @@ typedef int (merge_bvec_fn) (struct request_queue *, struct bvec_merge_data *,
209typedef void (softirq_done_fn)(struct request *); 210typedef void (softirq_done_fn)(struct request *);
210typedef int (dma_drain_needed_fn)(struct request *); 211typedef int (dma_drain_needed_fn)(struct request *);
211typedef int (lld_busy_fn) (struct request_queue *q); 212typedef int (lld_busy_fn) (struct request_queue *q);
213typedef int (bsg_job_fn) (struct bsg_job *);
212 214
213enum blk_eh_timer_return { 215enum blk_eh_timer_return {
214 BLK_EH_NOT_HANDLED, 216 BLK_EH_NOT_HANDLED,
@@ -375,6 +377,8 @@ struct request_queue {
375 struct mutex sysfs_lock; 377 struct mutex sysfs_lock;
376 378
377#if defined(CONFIG_BLK_DEV_BSG) 379#if defined(CONFIG_BLK_DEV_BSG)
380 bsg_job_fn *bsg_job_fn;
381 int bsg_job_size;
378 struct bsg_class_device bsg_dev; 382 struct bsg_class_device bsg_dev;
379#endif 383#endif
380 384