Following on the back of the ALUA support for native SCSI multipath
proposal at [0], this is an attempt to move to a SCSI core ALUA driver.

Essentially this series move the bulk of the ALUA handling from
scsi_dh_alua.c to a core driver. We still need to support ALUA for DH, so
the scsi_dh_alua.c is still responsible for driving ALUA support and the
SCSI core ALUA driver just provides a set of library functions for that.

The SCSI core ALUA driver also provides implicit ALUA support for no DH,
like when we would be native SCSI multipath.

This series is just really an RFC quality work and its purpose is
to decide on the direction of ALUA support for native SCSI multipath.

I think that this work is a real regression possibility for
dm-multipath, so we need to be careful.

[0] 
https://lore.kernel.org/linux-scsi/[email protected]/T/#m9c054433076812dff464d0e3b50a00620cfe0af1

John Garry (13):
  scsi: scsi_dh_alua: Delete alua_port_group
  scsi: alua: Create a core ALUA driver
  scsi: alua: Add scsi_alua_rtpg()
  scsi: alua: Add scsi_alua_stpg()
  scsi: alua: Add scsi_alua_tur()
  scsi: alua: Add scsi_alua_rtpg_run()
  scsi: alua: Add scsi_alua_stpg_run()
  scsi: alua: Add scsi_alua_check_tpgs()
  scsi: alua: Add scsi_alua_handle_state_transition()
  scsi: alua: Add scsi_alua_prep_fn()
  scsi: alua: Add scsi_device_alua_implicit()
  scsi: scsi_dh_alua: Switch to use core support
  scsi: core: Add implicit ALUA support

 drivers/scsi/Kconfig                       |   10 +-
 drivers/scsi/Makefile                      |    1 +
 drivers/scsi/device_handler/Kconfig        |    1 +
 drivers/scsi/device_handler/scsi_dh_alua.c | 1003 ++------------------
 drivers/scsi/scsi.c                        |    7 +
 drivers/scsi/scsi_alua.c                   |  748 +++++++++++++++
 drivers/scsi/scsi_error.c                  |    7 +
 drivers/scsi/scsi_lib.c                    |    7 +
 drivers/scsi/scsi_scan.c                   |    6 +
 drivers/scsi/scsi_sysfs.c                  |    7 +-
 include/scsi/scsi_alua.h                   |  103 ++
 include/scsi/scsi_device.h                 |    1 +
 12 files changed, 977 insertions(+), 924 deletions(-)
 create mode 100644 drivers/scsi/scsi_alua.c
 create mode 100644 include/scsi/scsi_alua.h

-- 
2.43.5


Reply via email to