[SCSI] export blk layer functions needed for blk_execute_rq_nowait
To send async requests we need these two functions exported. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
9e1fe9314c
commit
6e39b69e7e
|
@ -2306,6 +2306,8 @@ void blk_execute_rq_nowait(request_queue_t *q, struct gendisk *bd_disk,
|
||||||
generic_unplug_device(q);
|
generic_unplug_device(q);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EXPORT_SYMBOL_GPL(blk_execute_rq_nowait);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* blk_execute_rq - insert a request into queue for execution
|
* blk_execute_rq - insert a request into queue for execution
|
||||||
* @q: queue to insert the request in
|
* @q: queue to insert the request in
|
||||||
|
@ -2444,7 +2446,7 @@ void disk_round_stats(struct gendisk *disk)
|
||||||
/*
|
/*
|
||||||
* queue lock must be held
|
* queue lock must be held
|
||||||
*/
|
*/
|
||||||
static void __blk_put_request(request_queue_t *q, struct request *req)
|
void __blk_put_request(request_queue_t *q, struct request *req)
|
||||||
{
|
{
|
||||||
struct request_list *rl = req->rl;
|
struct request_list *rl = req->rl;
|
||||||
|
|
||||||
|
@ -2473,6 +2475,8 @@ static void __blk_put_request(request_queue_t *q, struct request *req)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EXPORT_SYMBOL_GPL(__blk_put_request);
|
||||||
|
|
||||||
void blk_put_request(struct request *req)
|
void blk_put_request(struct request *req)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
|
@ -558,6 +558,7 @@ extern void blk_unregister_queue(struct gendisk *disk);
|
||||||
extern void register_disk(struct gendisk *dev);
|
extern void register_disk(struct gendisk *dev);
|
||||||
extern void generic_make_request(struct bio *bio);
|
extern void generic_make_request(struct bio *bio);
|
||||||
extern void blk_put_request(struct request *);
|
extern void blk_put_request(struct request *);
|
||||||
|
extern void __blk_put_request(request_queue_t *, struct request *);
|
||||||
extern void blk_end_sync_rq(struct request *rq);
|
extern void blk_end_sync_rq(struct request *rq);
|
||||||
extern void blk_attempt_remerge(request_queue_t *, struct request *);
|
extern void blk_attempt_remerge(request_queue_t *, struct request *);
|
||||||
extern struct request *blk_get_request(request_queue_t *, int, gfp_t);
|
extern struct request *blk_get_request(request_queue_t *, int, gfp_t);
|
||||||
|
@ -579,6 +580,10 @@ extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned
|
||||||
extern int blk_rq_map_user_iov(request_queue_t *, struct request *, struct sg_iovec *, int);
|
extern int blk_rq_map_user_iov(request_queue_t *, struct request *, struct sg_iovec *, int);
|
||||||
extern int blk_execute_rq(request_queue_t *, struct gendisk *,
|
extern int blk_execute_rq(request_queue_t *, struct gendisk *,
|
||||||
struct request *, int);
|
struct request *, int);
|
||||||
|
extern void blk_execute_rq_nowait(request_queue_t *, struct gendisk *,
|
||||||
|
struct request *, int,
|
||||||
|
void (*done)(struct request *));
|
||||||
|
|
||||||
static inline request_queue_t *bdev_get_queue(struct block_device *bdev)
|
static inline request_queue_t *bdev_get_queue(struct block_device *bdev)
|
||||||
{
|
{
|
||||||
return bdev->bd_disk->queue;
|
return bdev->bd_disk->queue;
|
||||||
|
|
Loading…
Reference in New Issue