X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=block%2Felevator.c;h=8ed284691c0bc69aa3be19d1db52b6b9f3c768da;hb=16c70f8c1b54b61c3b951b6fb220df250fe09b32;hp=7be96bbe142c6f62c17da02688a0600aaa3acf9a;hpb=4e76c8a9fa413ccc09d3f7f664183dcce3555d57;p=linux-2.6.git diff --git a/block/elevator.c b/block/elevator.c index 7be96bbe1..8ed284691 100644 --- a/block/elevator.c +++ b/block/elevator.c @@ -27,7 +27,6 @@ #include #include #include -#include #include #include #include @@ -851,12 +850,9 @@ fail_register: * one again (along with re-adding the sysfs dir) */ elevator_exit(e); - e = NULL; q->elevator = old_elevator; elv_register_queue(q); clear_bit(QUEUE_FLAG_ELVSWITCH, &q->queue_flags); - if (e) - kobject_put(&e->kobj); return 0; } @@ -896,7 +892,7 @@ ssize_t elv_iosched_show(request_queue_t *q, char *name) struct list_head *entry; int len = 0; - spin_lock_irq(q->queue_lock); + spin_lock_irq(&elv_list_lock); list_for_each(entry, &elv_list) { struct elevator_type *__e; @@ -906,7 +902,7 @@ ssize_t elv_iosched_show(request_queue_t *q, char *name) else len += sprintf(name+len, "%s ", __e->elevator_name); } - spin_unlock_irq(q->queue_lock); + spin_unlock_irq(&elv_list_lock); len += sprintf(len+name, "\n"); return len;