All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv4 0/6]  Support 64-bit LUNs
@ 2014-06-03  8:58 Hannes Reinecke
  2014-06-03  8:58 ` [PATCH 1/6] scsi: Remove CONFIG_SCSI_MULTI_LUN Hannes Reinecke
                   ` (6 more replies)
  0 siblings, 7 replies; 24+ messages in thread
From: Hannes Reinecke @ 2014-06-03  8:58 UTC (permalink / raw)
  To: James Bottomley
  Cc: Christoph Hellwig, Ewan Milne, linux-scsi, Hannes Reinecke

Hi all,

this patchset updates the SCSI stack to support full 64-bit LUNs.
The first patch is a simple fix; the next patch updates
the sequential scan logic to be compliant with SPC.
The third patch addresses a firmware issue with earlier
qla2xxx HBAs.
The next two patches update the SCSI stack and all drivers
to use 64-bit LUNs where appropriate.
And finally we need to update the conversion routines
scsilun_to_int to cope with 64bit LUNs.

Two drivers have issues with 64bit LUNs:
- The qla2xxx driver uses a 32-bit LUN value for TMFs.
  But as the driver uses a max_lun value from 0xFFFF
  we should be safe for the time being.
- The zfcp driver uses a 32-bit LUN for debug records; the
  record format would need to be updated to cope with
  64-bit LUNs. But again, this driver uses 0xFFFFFFFF
  for max_lun, so it doesn't do any harm.

The other changes have been pretty straightforward.

Changes to v3:
- Modified scsilun_to_int() as suggested by James B.

Changes to v2:
- Add patch to fixup scsilun_to_int
- Add Reviewed-by: where applicable
- Remove last references to SCSI_MULTI_LUN

Hannes Reinecke (6):
  scsi: Remove CONFIG_SCSI_MULTI_LUN
  scsi_scan: Restrict sequential scan to 256 LUNs
  qla2xxx: Restrict max_lun to 16-bit for older HBAs
  scsi: use 64-bit LUNs
  scsi: use 64-bit value for 'max_luns'
  scsi_scan: Fixup scsilun_to_int()

 Documentation/scsi/tmscsim.txt       |  2 -
 drivers/ata/libata-scsi.c            |  2 +-
 drivers/ata/libata.h                 |  2 +-
 drivers/message/fusion/mptscsih.c    |  2 +-
 drivers/message/i2o/i2o_scsi.c       | 11 ++---
 drivers/s390/scsi/zfcp_dbf.c         |  3 +-
 drivers/s390/scsi/zfcp_unit.c        |  4 +-
 drivers/scsi/Kconfig                 | 14 ------
 drivers/scsi/NCR5380.c               |  2 +-
 drivers/scsi/aacraid/linit.c         |  2 +-
 drivers/scsi/advansys.c              |  2 +-
 drivers/scsi/aha152x.c               |  6 +--
 drivers/scsi/aic7xxx/aic79xx.h       |  2 +-
 drivers/scsi/aic7xxx/aic79xx_osm.c   |  6 +--
 drivers/scsi/aic7xxx/aic79xx_proc.c  |  2 +-
 drivers/scsi/aic7xxx/aic7xxx_osm.c   | 11 +++--
 drivers/scsi/aic7xxx/aic7xxx_proc.c  |  2 +-
 drivers/scsi/arcmsr/arcmsr_hba.c     |  8 ++--
 drivers/scsi/csiostor/csio_scsi.c    | 24 +++++-----
 drivers/scsi/cxgbi/libcxgbi.c        |  2 +-
 drivers/scsi/cxgbi/libcxgbi.h        |  2 +-
 drivers/scsi/dc395x.c                | 51 +++++++++-----------
 drivers/scsi/eata.c                  |  4 +-
 drivers/scsi/fnic/fnic_scsi.c        |  4 +-
 drivers/scsi/hpsa.c                  |  2 +-
 drivers/scsi/ibmvscsi/ibmvfc.c       |  4 +-
 drivers/scsi/libiscsi.c              |  8 ++--
 drivers/scsi/libsas/sas_scsi_host.c  | 11 +++--
 drivers/scsi/lpfc/lpfc_attr.c        | 10 +++-
 drivers/scsi/lpfc/lpfc_scsi.c        | 36 +++++++--------
 drivers/scsi/megaraid.c              |  6 +--
 drivers/scsi/megaraid/mega_common.h  |  2 +-
 drivers/scsi/mpt3sas/mpt3sas_scsih.c |  4 +-
 drivers/scsi/ncr53c8xx.h             |  4 --
 drivers/scsi/pmcraid.c               |  2 +-
 drivers/scsi/qla2xxx/qla_def.h       |  6 +--
 drivers/scsi/qla2xxx/qla_gbl.h       | 18 ++++----
 drivers/scsi/qla2xxx/qla_iocb.c      | 11 ++---
 drivers/scsi/qla2xxx/qla_isr.c       |  4 +-
 drivers/scsi/qla2xxx/qla_mbx.c       | 12 ++---
 drivers/scsi/qla2xxx/qla_mr.c        |  8 ++--
 drivers/scsi/qla2xxx/qla_os.c        | 48 +++++++++++--------
 drivers/scsi/qla4xxx/ql4_glbl.h      |  4 +-
 drivers/scsi/qla4xxx/ql4_iocb.c      |  2 +-
 drivers/scsi/qla4xxx/ql4_isr.c       | 22 ++++-----
 drivers/scsi/qla4xxx/ql4_mbx.c       |  6 +--
 drivers/scsi/qla4xxx/ql4_os.c        | 20 ++++----
 drivers/scsi/scsi.c                  |  8 ++--
 drivers/scsi/scsi_debug.c            | 15 +++---
 drivers/scsi/scsi_priv.h             |  2 +-
 drivers/scsi/scsi_proc.c             |  2 +-
 drivers/scsi/scsi_scan.c             | 90 +++++++++++++++---------------------
 drivers/scsi/scsi_sysfs.c            | 14 +++---
 drivers/scsi/scsi_transport_fc.c     |  4 +-
 drivers/scsi/scsi_transport_iscsi.c  |  4 +-
 drivers/scsi/scsi_transport_sas.c    |  2 +-
 drivers/scsi/sg.c                    |  4 +-
 drivers/scsi/sym53c8xx_2/sym_glue.c  |  2 +-
 drivers/scsi/sym53c8xx_2/sym_hipd.h  |  2 +-
 drivers/target/loopback/tcm_loop.c   |  2 +-
 drivers/target/target_core_pscsi.c   | 12 ++---
 drivers/usb/storage/Kconfig          |  4 +-
 drivers/usb/storage/sddr09.c         |  4 +-
 drivers/usb/storage/usb.c            | 10 ++--
 include/linux/moduleparam.h          |  5 ++
 include/scsi/scsi.h                  |  2 +-
 include/scsi/scsi_device.h           | 22 ++++-----
 include/scsi/scsi_devinfo.h          |  2 +
 include/scsi/scsi_host.h             |  6 +--
 include/scsi/scsi_transport.h        |  2 +-
 kernel/params.c                      |  1 +
 71 files changed, 312 insertions(+), 329 deletions(-)

-- 
1.7.12.4


^ permalink raw reply	[flat|nested] 24+ messages in thread
* [PATCHv3 0/6]  Support 64-bit LUNs
@ 2014-05-31  9:01 Hannes Reinecke
  2014-05-31  9:01 ` [PATCH 5/6] scsi: use 64-bit value for 'max_luns' Hannes Reinecke
  0 siblings, 1 reply; 24+ messages in thread
From: Hannes Reinecke @ 2014-05-31  9:01 UTC (permalink / raw)
  To: James Bottomley
  Cc: Christoph Hellwig, Ewan Milne, linux-scsi, Hannes Reinecke

Hi all,

this patchset updates the SCSI stack to support full 64-bit LUNs.
The first patch is a simple fix; the next patch updates
the sequential scan logic to be compliant with SPC.
The third patch addresses a firmware issue with earlier
qla2xxx HBAs.
The next two patches update the SCSI stack and all drivers
to use 64-bit LUNs where appropriate.
And finally we need to update the conversion routine
scsilun_to_int() to cope with 64bit LUNs.

Two drivers have issues with 64bit LUNs:
- The qla2xxx driver uses a 32-bit LUN value for TMFs.
  But as the driver uses a max_lun value from 0xFFFF
  we should be safe for the time being.
- The zfcp driver uses a 32-bit LUN for debug records; the
  record format would need to be updated to cope with
  64-bit LUNs. But again, this driver uses 0xFFFFFFFF
  for max_lun, so it doesn't do any harm.

The other changes have been pretty straightforward.

Changed to v2:
- Add patch to fixup scsilun_to_int
- Add Reviewed-by: where applicable
- Remove last references to SCSI_MULTI_LUN

Hannes Reinecke (6):
  scsi: Remove CONFIG_SCSI_MULTI_LUN
  scsi_scan: Restrict sequential scan to 256 LUNs
  qla2xxx: Restrict max_lun to 16-bit for older HBAs
  scsi: use 64-bit LUNs
  scsi: use 64-bit value for 'max_luns'
  scsi_scan: Fixup scsilun_to_int()

 Documentation/scsi/tmscsim.txt       |  2 -
 drivers/ata/libata-scsi.c            |  2 +-
 drivers/ata/libata.h                 |  2 +-
 drivers/message/fusion/mptscsih.c    |  2 +-
 drivers/message/i2o/i2o_scsi.c       | 11 ++--
 drivers/s390/scsi/zfcp_dbf.c         |  3 +-
 drivers/s390/scsi/zfcp_unit.c        |  4 +-
 drivers/scsi/Kconfig                 | 14 ------
 drivers/scsi/NCR5380.c               |  2 +-
 drivers/scsi/aacraid/linit.c         |  2 +-
 drivers/scsi/advansys.c              |  2 +-
 drivers/scsi/aha152x.c               |  6 +--
 drivers/scsi/aic7xxx/aic79xx.h       |  2 +-
 drivers/scsi/aic7xxx/aic79xx_osm.c   |  6 +--
 drivers/scsi/aic7xxx/aic79xx_proc.c  |  2 +-
 drivers/scsi/aic7xxx/aic7xxx_osm.c   | 11 ++--
 drivers/scsi/aic7xxx/aic7xxx_proc.c  |  2 +-
 drivers/scsi/arcmsr/arcmsr_hba.c     |  8 +--
 drivers/scsi/csiostor/csio_scsi.c    | 24 ++++-----
 drivers/scsi/cxgbi/libcxgbi.c        |  2 +-
 drivers/scsi/cxgbi/libcxgbi.h        |  2 +-
 drivers/scsi/dc395x.c                | 51 ++++++++-----------
 drivers/scsi/eata.c                  |  4 +-
 drivers/scsi/fnic/fnic_scsi.c        |  4 +-
 drivers/scsi/hpsa.c                  |  2 +-
 drivers/scsi/ibmvscsi/ibmvfc.c       |  4 +-
 drivers/scsi/libiscsi.c              |  8 +--
 drivers/scsi/libsas/sas_scsi_host.c  | 11 ++--
 drivers/scsi/lpfc/lpfc_attr.c        | 10 +++-
 drivers/scsi/lpfc/lpfc_scsi.c        | 36 ++++++-------
 drivers/scsi/megaraid.c              |  6 +--
 drivers/scsi/megaraid/mega_common.h  |  2 +-
 drivers/scsi/mpt3sas/mpt3sas_scsih.c |  4 +-
 drivers/scsi/ncr53c8xx.h             |  4 --
 drivers/scsi/pmcraid.c               |  2 +-
 drivers/scsi/qla2xxx/qla_def.h       |  6 +--
 drivers/scsi/qla2xxx/qla_gbl.h       | 18 +++----
 drivers/scsi/qla2xxx/qla_iocb.c      | 11 ++--
 drivers/scsi/qla2xxx/qla_isr.c       |  4 +-
 drivers/scsi/qla2xxx/qla_mbx.c       | 12 ++---
 drivers/scsi/qla2xxx/qla_mr.c        |  8 +--
 drivers/scsi/qla2xxx/qla_os.c        | 48 ++++++++++--------
 drivers/scsi/qla4xxx/ql4_glbl.h      |  4 +-
 drivers/scsi/qla4xxx/ql4_iocb.c      |  2 +-
 drivers/scsi/qla4xxx/ql4_isr.c       | 22 ++++----
 drivers/scsi/qla4xxx/ql4_mbx.c       |  6 +--
 drivers/scsi/qla4xxx/ql4_os.c        | 20 ++++----
 drivers/scsi/scsi.c                  |  8 +--
 drivers/scsi/scsi_debug.c            | 15 +++---
 drivers/scsi/scsi_priv.h             |  2 +-
 drivers/scsi/scsi_proc.c             |  2 +-
 drivers/scsi/scsi_scan.c             | 97 +++++++++++++++---------------------
 drivers/scsi/scsi_sysfs.c            | 14 +++---
 drivers/scsi/scsi_transport_fc.c     |  4 +-
 drivers/scsi/scsi_transport_iscsi.c  |  4 +-
 drivers/scsi/scsi_transport_sas.c    |  2 +-
 drivers/scsi/sg.c                    |  4 +-
 drivers/scsi/sym53c8xx_2/sym_glue.c  |  2 +-
 drivers/scsi/sym53c8xx_2/sym_hipd.h  |  2 +-
 drivers/target/loopback/tcm_loop.c   |  2 +-
 drivers/target/target_core_pscsi.c   | 12 ++---
 drivers/usb/storage/Kconfig          |  4 +-
 drivers/usb/storage/sddr09.c         |  4 +-
 drivers/usb/storage/usb.c            | 10 ++--
 include/linux/moduleparam.h          |  5 ++
 include/scsi/scsi.h                  |  2 +-
 include/scsi/scsi_device.h           | 22 ++++----
 include/scsi/scsi_devinfo.h          |  2 +
 include/scsi/scsi_host.h             |  6 +--
 include/scsi/scsi_transport.h        |  2 +-
 kernel/params.c                      |  1 +
 71 files changed, 314 insertions(+), 334 deletions(-)

-- 
1.7.12.4


^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2014-07-09  0:35 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-03  8:58 [PATCHv4 0/6] Support 64-bit LUNs Hannes Reinecke
2014-06-03  8:58 ` [PATCH 1/6] scsi: Remove CONFIG_SCSI_MULTI_LUN Hannes Reinecke
2014-06-03  8:58 ` [PATCH 2/6] scsi_scan: Restrict sequential scan to 256 LUNs Hannes Reinecke
2014-06-03  8:58 ` [PATCH 3/6] qla2xxx: Restrict max_lun to 16-bit for older HBAs Hannes Reinecke
2014-06-03  8:58 ` [PATCH 4/6] scsi: use 64-bit LUNs Hannes Reinecke
2014-06-03  8:58 ` [PATCH 5/6] scsi: use 64-bit value for 'max_luns' Hannes Reinecke
2014-06-25 12:28   ` Christoph Hellwig
2014-06-25 12:31     ` Hannes Reinecke
2014-06-25 12:33       ` Christoph Hellwig
2014-07-09  0:00     ` Rusty Russell
2014-07-09  0:00       ` Rusty Russell
2014-06-03  8:58 ` [PATCH 6/6] scsi_scan: Fixup scsilun_to_int() Hannes Reinecke
2014-06-10 11:37   ` Bart Van Assche
2014-06-10 13:41     ` Douglas Gilbert
2014-06-10 14:06     ` James Bottomley
2014-06-10 14:48       ` Bart Van Assche
2014-06-10 15:01         ` James Bottomley
2014-06-10 16:08           ` Bart Van Assche
2014-06-10 14:55       ` Douglas Gilbert
2014-06-10 17:58 ` [PATCHv4 0/6] Support 64-bit LUNs Bart Van Assche
2014-06-11  6:34   ` Hannes Reinecke
2014-06-11  6:53     ` Bart Van Assche
2014-06-11 13:44       ` Douglas Gilbert
  -- strict thread matches above, loose matches on Subject: below --
2014-05-31  9:01 [PATCHv3 " Hannes Reinecke
2014-05-31  9:01 ` [PATCH 5/6] scsi: use 64-bit value for 'max_luns' Hannes Reinecke

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.