diff options
| author | Andrew Morton <akpm@osdl.org> | 2003-07-04 19:36:16 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.osdl.org> | 2003-07-04 19:36:16 -0700 |
| commit | 7d2483a936d9012f0a8ed9b61e191d6b827a66d2 (patch) | |
| tree | 9ed75d944e5bbc12a9067302336971e00d103a53 /include/linux | |
| parent | 33c664854c9c467f4c30fe038c2afa12cc126311 (diff) | |
[PATCH] elv_may_queue() API function
Introduces the elv_may_queue() predicate with which the IO scheduler may tell
the generic request layer that we may add another request to this queue.
It is used by the CFQ elevator.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/elevator.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/elevator.h b/include/linux/elevator.h index 522e51609ef3..66bedb242218 100644 --- a/include/linux/elevator.h +++ b/include/linux/elevator.h @@ -15,6 +15,8 @@ typedef int (elevator_queue_empty_fn) (request_queue_t *); typedef void (elevator_remove_req_fn) (request_queue_t *, struct request *); typedef struct request *(elevator_request_list_fn) (request_queue_t *, struct request *); typedef struct list_head *(elevator_get_sort_head_fn) (request_queue_t *, struct request *); +typedef int (elevator_may_queue_fn) (request_queue_t *, int); + typedef int (elevator_set_req_fn) (request_queue_t *, struct request *, int); typedef void (elevator_put_req_fn) (request_queue_t *, struct request *); @@ -39,6 +41,8 @@ struct elevator_s elevator_set_req_fn *elevator_set_req_fn; elevator_put_req_fn *elevator_put_req_fn; + elevator_may_queue_fn *elevator_may_queue_fn; + elevator_init_fn *elevator_init_fn; elevator_exit_fn *elevator_exit_fn; @@ -64,6 +68,7 @@ extern struct request *elv_former_request(request_queue_t *, struct request *); extern struct request *elv_latter_request(request_queue_t *, struct request *); extern int elv_register_queue(struct gendisk *); extern void elv_unregister_queue(struct gendisk *); +extern int elv_may_queue(request_queue_t *, int); extern int elv_set_request(request_queue_t *, struct request *, int); extern void elv_put_request(request_queue_t *, struct request *); |
