diff options
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r-- | include/linux/blkdev.h | 34 |
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 | ||
343 | struct bio_vec; | 343 | struct bio_vec; |
344 | typedef int (merge_bvec_fn) (request_queue_t *, struct bio *, struct bio_vec *); | 344 | typedef int (merge_bvec_fn) (request_queue_t *, struct bio *, struct bio_vec *); |
345 | typedef void (activity_fn) (void *data, int rw); | ||
346 | typedef int (issue_flush_fn) (request_queue_t *, struct gendisk *, sector_t *); | 345 | typedef int (issue_flush_fn) (request_queue_t *, struct gendisk *, sector_t *); |
347 | typedef void (prepare_flush_fn) (request_queue_t *, struct request *); | 346 | typedef void (prepare_flush_fn) (request_queue_t *, struct request *); |
348 | typedef void (softirq_done_fn)(struct request *); | 347 | typedef 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 *); | |||
651 | extern int scsi_cmd_ioctl(struct file *, struct gendisk *, unsigned int, void __user *); | 647 | extern int scsi_cmd_ioctl(struct file *, struct gendisk *, unsigned int, void __user *); |
652 | extern int sg_scsi_ioctl(struct file *, struct request_queue *, | 648 | extern 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 | */ | ||
656 | static 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 | */ | ||
665 | static inline void blk_set_queue_congested(request_queue_t *q, int rw) | ||
666 | { | ||
667 | set_bdi_congested(&q->backing_dev_info, rw); | ||
668 | } | ||
669 | |||
654 | extern void blk_start_queue(request_queue_t *q); | 670 | extern void blk_start_queue(request_queue_t *q); |
655 | extern void blk_stop_queue(request_queue_t *q); | 671 | extern void blk_stop_queue(request_queue_t *q); |
656 | extern void blk_sync_queue(struct request_queue *q); | 672 | extern void blk_sync_queue(struct request_queue *q); |
657 | extern void __blk_stop_queue(request_queue_t *q); | 673 | extern void __blk_stop_queue(request_queue_t *q); |
658 | extern void blk_run_queue(request_queue_t *); | 674 | extern void blk_run_queue(request_queue_t *); |
659 | extern void blk_start_queueing(request_queue_t *); | 675 | extern void blk_start_queueing(request_queue_t *); |
660 | extern void blk_queue_activity_fn(request_queue_t *, activity_fn *, void *); | 676 | extern int blk_rq_map_user(request_queue_t *, struct request *, void __user *, unsigned long); |
661 | extern int blk_rq_map_user(request_queue_t *, struct request *, void __user *, unsigned int); | 677 | extern int blk_rq_unmap_user(struct request *); |
662 | extern int blk_rq_unmap_user(struct bio *, unsigned int); | ||
663 | extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned int, gfp_t); | 678 | extern int blk_rq_map_kern(request_queue_t *, struct request *, void *, unsigned int, gfp_t); |
664 | extern int blk_rq_map_user_iov(request_queue_t *, struct request *, struct sg_iovec *, int); | 679 | extern int blk_rq_map_user_iov(request_queue_t *, struct request *, |
680 | struct sg_iovec *, int, unsigned int); | ||
665 | extern int blk_execute_rq(request_queue_t *, struct gendisk *, | 681 | extern int blk_execute_rq(request_queue_t *, struct gendisk *, |
666 | struct request *, int); | 682 | struct request *, int); |
667 | extern void blk_execute_rq_nowait(request_queue_t *, struct gendisk *, | 683 | extern 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 *); | |||
765 | extern void blk_queue_free_tags(request_queue_t *); | 781 | extern void blk_queue_free_tags(request_queue_t *); |
766 | extern int blk_queue_resize_tags(request_queue_t *, int); | 782 | extern int blk_queue_resize_tags(request_queue_t *, int); |
767 | extern void blk_queue_invalidate_tags(request_queue_t *); | 783 | extern void blk_queue_invalidate_tags(request_queue_t *); |
768 | extern long blk_congestion_wait(int rw, long timeout); | ||
769 | extern struct blk_queue_tag *blk_init_tags(int); | 784 | extern struct blk_queue_tag *blk_init_tags(int); |
770 | extern void blk_free_tags(struct blk_queue_tag *); | 785 | extern void blk_free_tags(struct blk_queue_tag *); |
771 | extern void blk_congestion_end(int rw); | ||
772 | 786 | ||
773 | static inline struct request *blk_map_queue_find_tag(struct blk_queue_tag *bqt, | 787 | static inline struct request *blk_map_queue_find_tag(struct blk_queue_tag *bqt, |
774 | int tag) | 788 | int tag) |