Revision be14eb619108fa8b7120eb2c42d66d5f623ae10e authored by Brian King on 10 September 2010, 07:03:21 UTC, committed by Jens Axboe on 10 September 2010, 07:03:21 UTC
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>
1 parent edce682
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 3.3 KB |
Makefile | -rw-r--r-- | 1.1 KB |
README | -rw-r--r-- | 7.9 KB |
bitmap.c | -rw-r--r-- | 37.0 KB |
dir.c | -rw-r--r-- | 8.8 KB |
do_balan.c | -rw-r--r-- | 57.0 KB |
file.c | -rw-r--r-- | 10.3 KB |
fix_node.c | -rw-r--r-- | 77.2 KB |
hashes.c | -rw-r--r-- | 3.6 KB |
ibalance.c | -rw-r--r-- | 35.2 KB |
inode.c | -rw-r--r-- | 92.0 KB |
ioctl.c | -rw-r--r-- | 5.5 KB |
item_ops.c | -rw-r--r-- | 18.7 KB |
journal.c | -rw-r--r-- | 124.1 KB |
lbalance.c | -rw-r--r-- | 41.4 KB |
lock.c | -rw-r--r-- | 2.6 KB |
namei.c | -rw-r--r-- | 44.1 KB |
objectid.c | -rw-r--r-- | 6.9 KB |
prints.c | -rw-r--r-- | 20.7 KB |
procfs.c | -rw-r--r-- | 14.7 KB |
resize.c | -rw-r--r-- | 6.2 KB |
stree.c | -rw-r--r-- | 64.3 KB |
super.c | -rw-r--r-- | 62.3 KB |
tail_conversion.c | -rw-r--r-- | 9.1 KB |
xattr.c | -rw-r--r-- | 26.6 KB |
xattr_acl.c | -rw-r--r-- | 12.7 KB |
xattr_security.c | -rw-r--r-- | 2.9 KB |
xattr_trusted.c | -rw-r--r-- | 1.4 KB |
xattr_user.c | -rw-r--r-- | 1.3 KB |
Computing file changes ...