1. 29 Oct, 2015 19 commits
  2. 27 Oct, 2015 19 commits
  3. 07 Oct, 2015 1 commit
  4. 01 Oct, 2015 1 commit
    • Paul Mackerras's avatar
      scsi_dh: Use the correct module name when loading device handler · 1378889c
      Paul Mackerras authored
      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 566079c8,
      "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: 566079c8Signed-off-by: default avatarPaul Mackerras <paulus@ozlabs.org>
      Cc: Sasha Levin <sasha.levin@oracle.com>
      Reviewed-by: default avatarHannes Reinecke <hare@suse.com>
      Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Odin.com>
      1378889c