2ca7d93bb2
If the requested I/O scheduler is already in place, elevator_switch simply leaves the queue alone, and returns. However, it forgets to call elevator_put, so 'echo [current_sched] > /sys/block/[dev]/queue/scheduler' will leak a reference, causing the current_sched module to be permanently pinned in memory. Signed-off-by: Nate Diller <nate@namesys.com> Acked-by: Jens Axboe <axboe@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
||
---|---|---|
.. | ||
aoe | ||
paride | ||
DAC960.c | ||
DAC960.h | ||
Kconfig | ||
Kconfig.iosched | ||
Makefile | ||
acsi.c | ||
acsi_slm.c | ||
amiflop.c | ||
as-iosched.c | ||
ataflop.c | ||
cciss.c | ||
cciss.h | ||
cciss_cmd.h | ||
cciss_scsi.c | ||
cciss_scsi.h | ||
cfq-iosched.c | ||
cpqarray.c | ||
cpqarray.h | ||
cryptoloop.c | ||
deadline-iosched.c | ||
elevator.c | ||
floppy.c | ||
genhd.c | ||
ida_cmd.h | ||
ida_ioctl.h | ||
ioctl.c | ||
ll_rw_blk.c | ||
loop.c | ||
nbd.c | ||
noop-iosched.c | ||
pktcdvd.c | ||
ps2esdi.c | ||
rd.c | ||
scsi_ioctl.c | ||
smart1,2.h | ||
swim3.c | ||
swim_iop.c | ||
sx8.c | ||
ub.c | ||
umem.c | ||
viodasd.c | ||
xd.c | ||
xd.h | ||
z2ram.c |