[PATCH 0/4] [TCM/PR]: Add support for strict iSCSI TransportID ISID processing

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

Greetings SCSI folks,

This is a set of patches to lio-core-2.6.git/master to add proper support for strict
iSCSI TransportID ISID processing within core TCM/PR fabric independent logic.

This allows TCM to properly handle the scenario for SPC-3 PR and legacy SPC-2 reservations 
where there is a single iSCSI InitiatorName with multiple ISIDs (TransportIDs with the same
InitiatorName) connecting to a single TCM/LIO target endpoint (TargetName+TargetPortalGroupTag)
Beyond this one case, this patch also does change the default operation of TCM/PR for all
scenarios to require the use of InitiatorName+ISID TransportIDs for PR opreation for fabrics
(like iSCSI) having 'multi-value' TransportIDs containing an ISID.

There is also a patch to add a device attribute 'enforce_pr_isids' to allow matching for
PR registration created via TransportID with SPEC_I_PT=1 or REGISTER_AND_MOVE not containing
a ISID, but for fabric destination employing them (iSCSI again).  Note that the changes have
been tested using iSCSI and Virtual SAS ports with REGISTER + SPEC_I_PT=1, APTPL=1 and
REGISTER_AND_MOVE between LIO-Target and TCM_Loop fabric modules.

It would be great if any folks fimilar discussion would mind to have a look at the code!

Best,

Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxx>

Nicholas Bellinger (4):
  [TCM/PR]: Add proper support for ISIDs in TransportID processing
  [TCM/PR]: Replace usage of DEF_PR_REGISTERED with
    *core_scsi3_locate_pr_reg()
  [TCM/PR]: Update APTPL metadata logic for ISIDs in TransportID
    processing
  [TCM/ConfigFS]: Add per-device attribute 'enforce_pr_isids'

 drivers/target/target_core_configfs.c  |   44 +++-
 drivers/target/target_core_device.c    |   12 +
 drivers/target/target_core_pr.c        |  393 ++++++++++++++++++++++++--------
 include/target/target_core_base.h      |    4 +
 include/target/target_core_device.h    |    1 +
 include/target/target_core_pr.h        |    6 +-
 include/target/target_core_transport.h |    3 +
 7 files changed, 356 insertions(+), 107 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux