1. 27 10月, 2015 11 次提交
  2. 08 10月, 2015 1 次提交
  3. 02 10月, 2015 1 次提交
    • P
      scsi_dh: Use the correct module name when loading device handler · 1378889c
      Paul Mackerras 提交于
      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: NPaul Mackerras <paulus@ozlabs.org>
      Cc: Sasha Levin <sasha.levin@oracle.com>
      Reviewed-by: NHannes Reinecke <hare@suse.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
      1378889c
  4. 17 9月, 2015 1 次提交
  5. 11 9月, 2015 1 次提交
    • N
      target/qla2xxx: Honor max_data_sg_nents I/O transfer limit · 8f9b5654
      Nicholas Bellinger 提交于
      This patch adds an optional fabric driver provided SGL limit
      that target-core will honor as it's own internal I/O maximum
      transfer length limit, as exposed by EVPD=0xb0 block limits
      parameters.
      
      This is required for handling cases when host I/O transfer
      length exceeds the requested EVPD block limits maximum
      transfer length. The initial user of this logic is qla2xxx,
      so that we can avoid having to reject I/Os from some legacy
      FC hosts where EVPD=0xb0 parameters are not honored.
      
      When se_cmd payload length exceeds the provided limit in
      target_check_max_data_sg_nents() code, se_cmd->data_length +
      se_cmd->prot_length are reset with se_cmd->residual_count
      plus underflow bit for outgoing TFO response callbacks.
      It also checks for existing CDB level underflow + overflow
      and recalculates final residual_count as necessary.
      
      Note this patch currently assumes 1:1 mapping of PAGE_SIZE
      per struct scatterlist entry.
      Reported-by: NCraig Watson <craig.watson@vanguard-rugged.com>
      Cc: Craig Watson <craig.watson@vanguard-rugged.com>
      Tested-by: NHimanshu Madhani <himanshu.madhani@qlogic.com>
      Cc: Roland Dreier <roland@purestorage.com>
      Cc: Arun Easi <arun.easi@qlogic.com>
      Cc: Giridhar Malavali <giridhar.malavali@qlogic.com>
      Cc: Andrew Vasquez <andrew.vasquez@qlogic.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Hannes Reinecke <hare@suse.de>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      8f9b5654
  6. 09 9月, 2015 1 次提交
  7. 07 9月, 2015 17 次提交
  8. 29 8月, 2015 7 次提交