Revision 1378889c563a2938d231203ed36c041af183b798 authored by Paul Mackerras on 26 September 2015, 00:19:15 UTC, committed by James Bottomley on 01 October 2015, 17:46:28 UTC
This fixes a bug in recent kernels which results in failure to boot on systems that have multipath SCSI disks. I observed this failure on a POWER8 server where all the disks are multipath SCSI disks. The symptoms are several messages like this on the console: [ 3.018700] device-mapper: table: 253:0: multipath: error attaching hardware handler [ 3.018828] device-mapper: ioctl: error adding target to table and the system does not find its disks, and therefore fails to boot. Bisection revealed that the bug was introduced in commit 566079c849cf, "dm-mpath, scsi_dh: request scsi_dh modules in scsi_dh, not dm-mpath". The specific reason for the failure is that where we previously loaded the "scsi_dh_alua" module, we are now trying to load the "alua" module, which doesn't exist. To fix this, we change the request_module call in scsi_dh_lookup() to prepend "scsi_dh_" to the name, just like the old code in drivers/md/dm-mpath.c:parse_hw_handler() used to do. [jejb: also fixes issue spotted by Sasha Levin that formatting characters could be passed in via sysfs and cause issues with request_module()] Fixes: 566079c849cf Signed-off-by: Paul Mackerras <paulus@ozlabs.org> Cc: Sasha Levin <sasha.levin@oracle.com> Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
1 parent 52f5664
File | Mode | Size |
---|---|---|
Kconfig | -rw-r--r-- | 442 bytes |
Makefile | -rw-r--r-- | 278 bytes |
netlabel_addrlist.c | -rw-r--r-- | 10.3 KB |
netlabel_addrlist.h | -rw-r--r-- | 6.1 KB |
netlabel_cipso_v4.c | -rw-r--r-- | 21.1 KB |
netlabel_cipso_v4.h | -rw-r--r-- | 4.7 KB |
netlabel_domainhash.c | -rw-r--r-- | 22.1 KB |
netlabel_domainhash.h | -rw-r--r-- | 3.2 KB |
netlabel_kapi.c | -rw-r--r-- | 30.2 KB |
netlabel_mgmt.c | -rw-r--r-- | 19.8 KB |
netlabel_mgmt.h | -rw-r--r-- | 6.2 KB |
netlabel_unlabeled.c | -rw-r--r-- | 41.5 KB |
netlabel_unlabeled.h | -rw-r--r-- | 6.9 KB |
netlabel_user.c | -rw-r--r-- | 3.1 KB |
netlabel_user.h | -rw-r--r-- | 1.9 KB |
Computing file changes ...