Loading block/elevator.c +8 −4 Original line number Diff line number Diff line Loading @@ -938,6 +938,7 @@ int elv_register_queue(struct request_queue *q) } } kobject_uevent(&e->kobj, KOBJ_ADD); e->registered = 1; } return error; } Loading @@ -947,6 +948,7 @@ static void __elv_unregister_queue(struct elevator_queue *e) { kobject_uevent(&e->kobj, KOBJ_REMOVE); kobject_del(&e->kobj); e->registered = 0; } void elv_unregister_queue(struct request_queue *q) Loading Loading @@ -1042,11 +1044,13 @@ static int elevator_switch(struct request_queue *q, struct elevator_type *new_e) spin_unlock_irq(q->queue_lock); if (old_elevator->registered) { __elv_unregister_queue(old_elevator); err = elv_register_queue(q); if (err) goto fail_register; } /* * finally exit old elevator and turn off BYPASS. Loading include/linux/elevator.h +1 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ struct elevator_queue struct elevator_type *elevator_type; struct mutex sysfs_lock; struct hlist_head *hash; unsigned int registered:1; }; /* Loading Loading
block/elevator.c +8 −4 Original line number Diff line number Diff line Loading @@ -938,6 +938,7 @@ int elv_register_queue(struct request_queue *q) } } kobject_uevent(&e->kobj, KOBJ_ADD); e->registered = 1; } return error; } Loading @@ -947,6 +948,7 @@ static void __elv_unregister_queue(struct elevator_queue *e) { kobject_uevent(&e->kobj, KOBJ_REMOVE); kobject_del(&e->kobj); e->registered = 0; } void elv_unregister_queue(struct request_queue *q) Loading Loading @@ -1042,11 +1044,13 @@ static int elevator_switch(struct request_queue *q, struct elevator_type *new_e) spin_unlock_irq(q->queue_lock); if (old_elevator->registered) { __elv_unregister_queue(old_elevator); err = elv_register_queue(q); if (err) goto fail_register; } /* * finally exit old elevator and turn off BYPASS. Loading
include/linux/elevator.h +1 −0 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ struct elevator_queue struct elevator_type *elevator_type; struct mutex sysfs_lock; struct hlist_head *hash; unsigned int registered:1; }; /* Loading