blob: f56b8edb06e42b217b46c9556c23ca30ef6a6063 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * elevator noop
3 */
4#include <linux/blkdev.h>
5#include <linux/elevator.h>
6#include <linux/bio.h>
7#include <linux/module.h>
8#include <linux/init.h>
9
Jens Axboeb4878f22005-10-20 16:42:29 +020010static void elevator_noop_add_request(request_queue_t *q, struct request *rq)
Linus Torvalds1da177e2005-04-16 15:20:36 -070011{
Jens Axboeb4878f22005-10-20 16:42:29 +020012 elv_dispatch_add_tail(q, rq);
Linus Torvalds1da177e2005-04-16 15:20:36 -070013}
14
Jens Axboeb4878f22005-10-20 16:42:29 +020015static int elevator_noop_dispatch(request_queue_t *q, int force)
Linus Torvalds1da177e2005-04-16 15:20:36 -070016{
Jens Axboeb4878f22005-10-20 16:42:29 +020017 return 0;
Linus Torvalds1da177e2005-04-16 15:20:36 -070018}
19
20static struct elevator_type elevator_noop = {
21 .ops = {
Jens Axboeb4878f22005-10-20 16:42:29 +020022 .elevator_dispatch_fn = elevator_noop_dispatch,
Linus Torvalds1da177e2005-04-16 15:20:36 -070023 .elevator_add_req_fn = elevator_noop_add_request,
24 },
25 .elevator_name = "noop",
26 .elevator_owner = THIS_MODULE,
27};
28
29static int __init noop_init(void)
30{
31 return elv_register(&elevator_noop);
32}
33
34static void __exit noop_exit(void)
35{
36 elv_unregister(&elevator_noop);
37}
38
39module_init(noop_init);
40module_exit(noop_exit);
41
42
43MODULE_AUTHOR("Jens Axboe");
44MODULE_LICENSE("GPL");
45MODULE_DESCRIPTION("No-op IO scheduler");