summaryrefslogtreecommitdiffstats
path: root/block/blk-core.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-12-14 00:33:40 +0100
committerJens Axboe <axboe@kernel.dk>2011-12-14 00:33:40 +0100
commitf8fc877d3c1f10457d0d73d8540a0c51a1fa718a (patch)
tree036d5d57996a6b3f1dfd68fb569eea0e699f2263 /block/blk-core.c
parentf2dbd76a0a994bc1d5a3d0e7c844cc373832e86c (diff)
downloadlinux-f8fc877d3c1f10457d0d73d8540a0c51a1fa718a.tar.bz2
block: reorder elevator switch sequence
Elevator switch sequence first attached the new elevator, then tried registering it (sysfs) and if that failed attached back the old elevator. However, sysfs registration doesn't require the elevator to be attached, so there is no reason to do the "detach, attach new, register, maybe re-attach old" sequence. It can just do "register, detach, attach". * elevator_init_queue() is updated to set ->elevator_data directly and return 0 / -errno. This allows elevator_exit() on an unattached elevator. * __elv_unregister_queue() which was necessary to unregister unattached q is removed in favor of __elv_register_queue() which can register unattached q. * elevator_attach() becomes a single assignment and obscures more then it helps. Dropped. This will help cleaning up io_context handling across elevator switch. This patch doesn't introduce visible behavior change. Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-core.c')
0 files changed, 0 insertions, 0 deletions