linux-stable-rt/block
Brian King be14eb6191 block: Range check cpu in blk_cpu_to_group
While testing CPU DLPAR, the following problem was discovered.
We were DLPAR removing the first CPU, which in this case was
logical CPUs 0-3. CPUs 0-2 were already marked offline and
we were in the process of offlining CPU 3. After marking
the CPU inactive and offline in cpu_disable, but before the
cpu was completely idle (cpu_die), we ended up in __make_request
on CPU 3. There we looked at the topology map to see which CPU
to complete the I/O on and found no CPUs in the cpu_sibling_map.
This resulted in the block layer setting the completion cpu
to be NR_CPUS, which then caused an oops when we tried to
complete the I/O.

Fix this by sanity checking the value we return from blk_cpu_to_group
to be a valid cpu value.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2010-09-10 09:03:21 +02:00
..
Kconfig
Kconfig.iosched
Makefile
blk-barrier.c block: set up rq->rq_disk properly for flush requests 2010-08-07 18:52:41 +02:00
blk-cgroup.c blkio: Fix return code for mkdir calls 2010-08-23 10:56:30 +02:00
blk-cgroup.h
blk-core.c BLOCK: fix bio.bi_rw handling 2010-08-23 12:33:10 +02:00
blk-exec.c block: remove wrappers for request type/flags 2010-08-07 18:17:56 +02:00
blk-integrity.c
blk-ioc.c
blk-iopoll.c
blk-lib.c block: add secure discard 2010-08-12 08:43:30 -07:00
blk-map.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
blk-merge.c gcc-4.6: block: fix unused but set variables in blk-merge 2010-08-07 18:23:10 +02:00
blk-settings.c block: implement an unprep function corresponding directly to prep 2010-08-07 18:23:47 +02:00
blk-softirq.c
blk-sysfs.c block: put dev->kobj in blk_register_queue fail path 2010-08-23 12:30:29 +02:00
blk-tag.c
blk-timeout.c
blk.h block: Range check cpu in blk_cpu_to_group 2010-09-10 09:03:21 +02:00
bsg.c
cfq-iosched.c cfq-iosched: blktrace print per slice sector stats 2010-08-23 12:25:03 +02:00
cfq.h
compat_ioctl.c block: add secure discard 2010-08-12 08:43:30 -07:00
deadline-iosched.c
elevator.c block: add function call to switch the IO scheduler from a driver 2010-08-23 13:52:19 +02:00
genhd.c
ioctl.c block: add secure discard 2010-08-12 08:43:30 -07:00
noop-iosched.c
scsi_ioctl.c