aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h34
1 files changed, 24 insertions, 10 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index d370d2cfe138..ea330d7b46c0 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -342,7 +342,6 @@ typedef void (unplug_fn) (request_queue_t *);
342 342
343struct bio_vec; 343struct bio_vec;
344typedef int (merge_bvec_fn) (request_queue_t *, struct bio *, struct bio_vec *); 344typedef int (merge_bvec_fn) (request_queue_t *, struct bio *, struct bio_vec *);
345typedef void (activity_fn) (void *data, int rw);
346typedef int (issue_flush_fn) (request_queue_t *, struct gendisk *, sector_t *); 345typedef int (issue_flush_fn) (request_queue_t *, struct gendisk *, sector_t *);
347typedef void (prepare_flush_fn) (request_queue_t *, struct request *); 346typedef void (prepare_flush_fn) (request_queue_t *, struct request *);
348typedef void (softirq_done_fn)(struct request *); 347typedef void (softirq_done_fn)(struct request *);
@@ -384,7 +383,6 @@ struct request_queue
384 prep_rq_fn *prep_rq_fn; 383 prep_rq_fn *prep_rq_fn;
385 unplug_fn *unplug_fn; 384 unplug_fn *unplug_fn;
386 merge_bvec_fn *merge_bvec_fn; 385 merge_bvec_fn *merge_bvec_fn;
387 activity_fn *activity_fn;
388 issue_flush_fn *issue_flush_fn; 386 issue_flush_fn *issue_flush_fn;
389 prepare_flush_fn *prepare_flush_fn; 387 prepare_flush_fn *prepare_flush_fn;
390 softirq_done_fn *softirq_done_fn; 388 softirq_done_fn *softirq_done_fn;
@@ -411,8 +409,6 @@ struct request_queue
411 */ 409 */
412 void *queuedata; 410 void *queuedata;
413 411
414 void *activity_data;
415
416 /* 412 /*
417 * queue needs bounce pages for pages above this limit 413 * queue needs bounce pages for pages above this limit
418 */ 414 */
@@ -651,17 +647,37 @@ extern void blk_recount_segments(request_queue_t *, struct bio *);
651extern int scsi_cmd_ioctl(struct file *, struct gendisk *, unsigned int, void __user *); 647extern int scsi_cmd_ioctl(struct file *, struct gendisk *, unsigned int, void __user *);
652extern int sg_scsi_ioctl(struct file *, struct request_queue *, 648extern int sg_scsi_ioctl(struct file *, struct request_queue *,
653 struct gendisk *, struct scsi_ioctl_command __user *); 649 struct gendisk *, struct scsi_ioctl_command __user *);
650
651/*
652 * A queue has just exitted congestion. Note this in the global counter of
653 * congested queues, and wake up anyone who was waiting for requests to be
654 * put back.
655 */
656static inline void blk_clear_queue_congested(request_queue_t *q, int rw)
657{
658 clear_bdi_congested(&q->backing_dev_info, rw);
659}
660
661/*
662 * A queue has just entered congestion. Flag that in the queue's VM-visible
663 * state flags and increment the global gounter of congested queues.
664 */
665static inline void blk_set_queue_congested(request_queue_t *q, int rw)
666{
667 set_bdi_congested(&q->backing_dev_info, rw);
668}
669
654extern void blk_start_queue(request_queue_t *q); 670extern void blk_start_queue(request_queue_t *q);
655extern void blk_stop_queue(request_queue_t *q); 671extern void blk_stop_queue(request_queue_t *q);
656extern void blk_sync_queue(struct request_queue *q); 672extern void blk_sync_queue(struct request_queue *q);
657extern void __blk_stop_queue(request_queue_t *q); 673extern void __blk_stop_queue(request_queue_t *q);
658extern void blk_run_queue(request_queue_t *); 674extern void blk_run_queue(request_queue_t *);
659extern void blk_start_queueing(request_queue_t *); 675extern void blk_start_queueing(request_queue_t *);
660extern void blk_queue_activity_fn(request_queue_t *, activity_fn *, void *); 676extern int blk_rq_map_user(request_queue_t *, struct request *, void __user *, unsigned long);
661extern int blk_rq_map_user(request_queue_t *, struct request *, void __user *, unsigned int); 677extern int blk_rq_unmap_user(struct request *);
662extern int blk_rq_unmap_user(struct bio *, unsigned int);
663extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned int, gfp_t); 678extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned int, gfp_t);
664extern int blk_rq_map_user_iov(request_queue_t *, struct request *, struct sg_iovec *, int); 679extern int blk_rq_map_user_iov(request_queue_t *, struct request *,
680 struct sg_iovec *, int, unsigned int);
665extern int blk_execute_rq(request_queue_t *, struct gendisk *, 681extern int blk_execute_rq(request_queue_t *, struct gendisk *,
666 struct request *, int); 682 struct request *, int);
667extern void blk_execute_rq_nowait(request_queue_t *, struct gendisk *, 683extern void blk_execute_rq_nowait(request_queue_t *, struct gendisk *,
@@ -765,10 +781,8 @@ extern int blk_queue_init_tags(request_queue_t *, int, struct blk_queue_tag *);
765extern void blk_queue_free_tags(request_queue_t *); 781extern void blk_queue_free_tags(request_queue_t *);
766extern int blk_queue_resize_tags(request_queue_t *, int); 782extern int blk_queue_resize_tags(request_queue_t *, int);
767extern void blk_queue_invalidate_tags(request_queue_t *); 783extern void blk_queue_invalidate_tags(request_queue_t *);
768extern long blk_congestion_wait(int rw, long timeout);
769extern struct blk_queue_tag *blk_init_tags(int); 784extern struct blk_queue_tag *blk_init_tags(int);
770extern void blk_free_tags(struct blk_queue_tag *); 785extern void blk_free_tags(struct blk_queue_tag *);
771extern void blk_congestion_end(int rw);
772 786
773static inline struct request *blk_map_queue_find_tag(struct blk_queue_tag *bqt, 787static inline struct request *blk_map_queue_find_tag(struct blk_queue_tag *bqt,
774 int tag) 788 int tag)