Skip to content

ALUA update and Referrals support

Hannes Reinecke linux-scsi 2 versions – Applied

Status from this message: Applied. Thanks Hannes!

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest18 patches 12 repliesApplied
  2. v19 of 11 patches 13 repliesApplied

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/18target core: rename (ex,im)plict -> (ex,im)plicitdrivers/target/target_core_alua.c drivers/target/target_core_alua.h drivers/target/target_core_configfs.c +7 more+101 -1011 reply
2/18target_core_alua: spellcheckdrivers/target/target_core_alua.c+9 -91 reply
3/18target_core_alua: Rename ALUA_ACCESS_STATE_OPTIMIZEDdrivers/target/target_core_alua.c drivers/target/target_core_alua.h+6 -61 reply
4/18target_core_alua: Store supported ALUA statesdrivers/target/target_core_alua.c drivers/target/target_core_alua.h include/target/target_core_base.h+20 -61 reply
5/18target_core_alua: Make supported states configurabledrivers/target/target_core_configfs.c+50 -01 reply
6/18target_core_configfs: split up ALUA supported statesdrivers/target/target_core_configfs.c+84 -431 reply
7/18target_core_configfs: Verbose ALUA state displaydrivers/target/target_core_alua.c drivers/target/target_core_alua.h drivers/target/target_core_configfs.c+33 -110 replies
8/18target_core_configfs: Split up ALUA access typedrivers/target/target_core_alua.c drivers/target/target_core_alua.h drivers/target/target_core_configfs.c+38 -900 replies
9/18target_core: Rename alua_access_type in alua_mgmt_typedrivers/target/target_core_alua.c drivers/target/target_core_alua.h drivers/target/target_core_configfs.c +2 more+26 -260 replies
10/18target_core: Rename alua_access_status to alua_status_modificationdrivers/target/target_core_alua.c drivers/target/target_core_configfs.c include/target/target_core_base.h+13 -130 replies
11/18target_core_alua: Validate ALUA state transitiondrivers/target/target_core_alua.c+72 -450 replies
12/18target_core_alua: Allocate ALUA metadata on demanddrivers/target/target_core_alua.c drivers/target/target_core_alua.h include/target/target_core_base.h+34 -420 replies
13/18target_core_alua: store old and pending ALUA statedrivers/target/target_core_alua.c include/target/target_core_base.h+14 -70 replies
14/18target_core_alua: Use workqueue for ALUA transitioningdrivers/target/target_core_alua.c include/target/target_core_base.h+128 -500 replies
15/18target_core: simplify scsi_name_len calculationdrivers/target/target_core_spc.c+3 -100 replies
16/18target_core_spc: Include target device descriptor in VPD page 83drivers/target/target_core_spc.c+42 -10 replies
17/18target_core_alua: Referrals infrastructuredrivers/target/target_core_alua.c drivers/target/target_core_alua.h drivers/target/target_core_configfs.c +5 more+211 -30 replies
18/18target_core_alua: Referrals configfs integrationdrivers/target/target_core_alua.c drivers/target/target_core_alua.h drivers/target/target_core_configfs.c +2 more+308 -10 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v2 yet.

Read the v2 thread

Cover letter [PATCHv2 00/18] ALUA update and Referrals support

Hi Nic,

here's the second version of my ALUA update & Referrals support patches. As per request I've split up the supported states into individual attributes, and while there I've also renamed the rather confusing 'alua_access_type' and 'alua_access_status' into 'alua_management_type' and 'alua_status_modification', respectively.

The other features are:

- Make supported states configurable:
We should make the list of supported ALUA states configurable, as some setups would possibly like to support a small subset of ALUA states only.
- Asynchronous transitioning: I've switched 'transitioning' handling to use a workqueue, that should allow us to simulate asynchronous transitioning modes. IE TCM should now be capable of handling requests while in transitioning, and properly terminate these with the correct sense code.
- Include target device descriptor in VPD page 83
For the ALUA device handler we'd need to identify the target device where a given target port belongs to. So include the respective values in the VPD page.

And, of course, referrals support.

Hannes Reinecke (18):
target core: rename (ex,im)plict -> (ex,im)plicit
target_core_alua: spellcheck
target_core_alua: Rename ALUA_ACCESS_STATE_OPTIMIZED
target_core_alua: Store supported ALUA states
target_core_alua: Make supported states configurable
target_core_configfs: split up ALUA supported states
target_core_configfs: Verbose ALUA state display
target_core_configfs: Split up ALUA access type
target_core: Rename alua_access_type in alua_mgmt_type
target_core: Rename alua_access_status to alua_status_modification
target_core_alua: Validate ALUA state transition
target_core_alua: Allocate ALUA metadata on demand
target_core_alua: store old and pending ALUA state
target_core_alua: Use workqueue for ALUA transitioning
target_core: simplify scsi_name_len calculation
target_core_spc: Include target device descriptor in VPD page 83
target_core_alua: Referrals infrastructure
target_core_alua: Referrals configfs integration

 drivers/target/target_core_alua.c      | 764 +++++++++++++++++++++++----------
 drivers/target/target_core_alua.h      |  55 ++-
 drivers/target/target_core_configfs.c  | 360 ++++++++++++++--
 drivers/target/target_core_device.c    |   9 +-
 drivers/target/target_core_file.c      |   2 +-
 drivers/target/target_core_pr.c        |  24 +-
 drivers/target/target_core_sbc.c       |   5 +-
 drivers/target/target_core_spc.c       |  84 +++-
 drivers/target/target_core_transport.c |  32 +-
 drivers/target/target_core_ua.h        |   2 +-
 include/scsi/scsi.h                    |   1 +
 include/target/target_core_base.h      |  34 +-
 12 files changed, 1050 insertions(+), 322 deletions(-)
Signature · 1 line
1.7.12.4