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
..
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-cgroup: config options re-arrangement
2010-04-26 19:27:56 +02:00
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
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
blk-ioc.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
blk-iopoll.c
tree-wide: fix assorted typos all over the place
2009-12-04 15:39:55 +01:00
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
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
blk-timeout.c
block: ensure jiffies wrap is handled correctly in blk_rq_timed_out_timer
2010-04-21 17:42:08 +02:00
blk.h
block: Range check cpu in blk_cpu_to_group
2010-09-10 09:03:21 +02:00
bsg.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
cfq-iosched.c
cfq-iosched: blktrace print per slice sector stats
2010-08-23 12:25:03 +02:00
cfq.h
cfq: fix recursive call in cfq_blkiocg_update_completion_stats()
2010-06-21 09:10:55 +02:00
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
block: remove all rcu head initializations
2010-05-21 20:01:02 +02:00
ioctl.c
block: add secure discard
2010-08-12 08:43:30 -07:00
Kconfig
blk-cgroup: config options re-arrangement
2010-04-26 19:27:56 +02:00
Kconfig.iosched
blk-cgroup: config options re-arrangement
2010-04-26 19:27:56 +02:00
Makefile
blkdev: move blkdev_issue helper functions to separate file
2010-04-28 19:47:36 +02:00
noop-iosched.c
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
2010-03-30 22:02:32 +09:00
scsi_ioctl.c