This series adds basic ALUA support for native SCSI multipath. Only
support to send a one-time RTPG is added to get per-path information.

I want to add more ALUA support, for things like ALUA configuration from
device rescan. The DH-based ALUA code already supports this. However
separating the DH ALUA port group management code from the rest of the
DH code is difficult, so I am looking for suggestions on this. There is
a consensus to not reuse the device handler code, but it is intertwined
with the ALUA driver code in scsi_dh_alua.c

An initial framework is also added to send a periodic TUR per path, to
keep path information up-to-date.

This series is based on 
https://lore.kernel.org/linux-scsi/[email protected]/T/#m76b3a2756124e13b5564c434a38f9c51f64f0bbc
and may be found at 
https://github.com/johnpgarry/linux/tree/scsi-multipath-pre-7.0-upstream-alua

John Garry (8):
  libmultipath: add mpath_call_for_all_devices()
  scsi: scsi_dh_alua: Do not attach for SCSI native multipath
  scsi: scsi_dh_alua: Pass submit_rtpg() a bool for extended header
    support
  scsi: Create a core ALUA driver
  scsi: scsi-multipath: Add basic ALUA support
  scsi: scsi-multipath: Maintain sdev->access_state
  scsi: scsi-multipath: Issue a periodic TUR per path
  scsi: scsi-multipath: Add stubbed scsi_multipath_dev_rescan()

 drivers/scsi/Kconfig                       |   9 +
 drivers/scsi/Makefile                      |   1 +
 drivers/scsi/device_handler/Kconfig        |   1 +
 drivers/scsi/device_handler/scsi_dh_alua.c | 202 +-------------------
 drivers/scsi/scsi_alua.c                   | 204 ++++++++++++++++++++
 drivers/scsi/scsi_multipath.c              | 206 ++++++++++++++++++++-
 drivers/scsi/scsi_scan.c                   |   2 +
 drivers/scsi/scsi_sysfs.c                  |   2 +-
 include/linux/multipath.h                  |   2 +
 include/scsi/scsi_alua.h                   |  50 +++++
 include/scsi/scsi_multipath.h              |   8 +
 lib/multipath.c                            |  15 ++
 12 files changed, 501 insertions(+), 201 deletions(-)
 create mode 100644 drivers/scsi/scsi_alua.c
 create mode 100644 include/scsi/scsi_alua.h

-- 
2.43.5


Reply via email to