diff options
Diffstat (limited to 'block/elevator.c')
-rw-r--r-- | block/elevator.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/block/elevator.c b/block/elevator.c index 66343d6917d0..6a343e8f8319 100644 --- a/block/elevator.c +++ b/block/elevator.c | |||
@@ -913,22 +913,6 @@ EXPORT_SYMBOL_GPL(elv_register); | |||
913 | 913 | ||
914 | void elv_unregister(struct elevator_type *e) | 914 | void elv_unregister(struct elevator_type *e) |
915 | { | 915 | { |
916 | struct task_struct *g, *p; | ||
917 | |||
918 | /* | ||
919 | * Iterate every thread in the process to remove the io contexts. | ||
920 | */ | ||
921 | if (e->ops.trim) { | ||
922 | read_lock(&tasklist_lock); | ||
923 | do_each_thread(g, p) { | ||
924 | task_lock(p); | ||
925 | if (p->io_context) | ||
926 | e->ops.trim(p->io_context); | ||
927 | task_unlock(p); | ||
928 | } while_each_thread(g, p); | ||
929 | read_unlock(&tasklist_lock); | ||
930 | } | ||
931 | |||
932 | spin_lock(&elv_list_lock); | 916 | spin_lock(&elv_list_lock); |
933 | list_del_init(&e->list); | 917 | list_del_init(&e->list); |
934 | spin_unlock(&elv_list_lock); | 918 | spin_unlock(&elv_list_lock); |