2014-06-21 11:47:05

by Fabian Frédérick

[permalink] [raw]
Subject: [PATCH 1/1] Revert "block: add __init to elv_register"

This reverts commit b5097e956a4d

Adding __init to elv_register makes it unreliable when updating
/sys/block/sdX/queue/scheduler at runtime

Reported-by: Damien Wyart <[email protected]>
Cc: Damien Wyart <[email protected]>
Cc: Jens Axboe <[email protected]>
Signed-off-by: Fabian Frederick <[email protected]>
---
block/elevator.c | 2 +-
include/linux/elevator.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/elevator.c b/block/elevator.c
index 34bded1..24c28b6 100644
--- a/block/elevator.c
+++ b/block/elevator.c
@@ -825,7 +825,7 @@ void elv_unregister_queue(struct request_queue *q)
}
EXPORT_SYMBOL(elv_unregister_queue);

-int __init elv_register(struct elevator_type *e)
+int elv_register(struct elevator_type *e)
{
char *def = "";

diff --git a/include/linux/elevator.h b/include/linux/elevator.h
index e2a6bd7..45a9147 100644
--- a/include/linux/elevator.h
+++ b/include/linux/elevator.h
@@ -143,7 +143,7 @@ extern void elv_drain_elevator(struct request_queue *);
* io scheduler registration
*/
extern void __init load_default_elevator_module(void);
-extern int __init elv_register(struct elevator_type *);
+extern int elv_register(struct elevator_type *);
extern void elv_unregister(struct elevator_type *);

/*
--
1.8.4.5