[RFC-v2 00/12] iSCSI target v4.1.0-rc1 series for .39

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

 



From: Nicholas Bellinger <nab@xxxxxxxxxxxxxxx>

Greetings folks,

This is the second RFC series for the RisingTide Systems iSCSI target fabric
module compatible with mainline TCM v4 -> for-39 target infrastructure code.
The following commits been broken up into individual sections to make reviewing
easier for those fimilar with the iSCSI protocol.  This series will be submitted
as a single commit following mainline convention for an initial merge as the .39
window opens later week.

At this point the code has been fully converted to use include/scsi/iscsi_proto.h
PDU struct request/response and flag/bit definitions, and the legacy internal
iscsi_protocol.h definitions have been removed from this series.  There are
some minor PDU namespace changes and a SNACK PDU definition fix to mainline
include/scsi/iscsi_proto.h code, plus changing the handful of existing libiscsi
based LLDs currently using the libiscsi SCSI Command / Response PDU definitions.
These changes external to iSCSI target code have been included as patch #1.
(mnc and hare please review)

>From there patches #2 -> #12 should be self explanatory for iscsi-target from
individual high level commit messages.  This series includes a number of
recent upstream improvements and cleanups to iscsi_target_mod.ko in
lio-core-2.6.git/lio-4.1, and includes iscsi_target_stat.c using the new
TCM v4 fabric dependent statistic groups.  Also note that all legacy ProcFS
based code for iSCSI MIBs has been converted into ConfigFS based attributes
or otherwise removed for mainline. (hch, boaz and tomo-san please review)

Please note this code is intended to be applied against the latest 'for-39'
target series posed here:

[PATCH 00/21] target patches for .39 scsi-misc (v3)
http://marc.info/?l=linux-scsi&m=130010108521141&w=2

The changes from RFC-v1 -> RFC-v2 include:

*) Drop extra crc32c_intel libcrypto magic from iscsi_login_setup_crypto()
*) Fix padded login response payload breakage from initial iscsi_proto.h
   conversion
*) Cleanups for iscsi_target_core.h and conversion a number of definitions
   to enums and inline defs
*) Removal of '__' prefix around u32 and friends
*) Other miscellanous checkpatch.pl cleanups

The full RFC-v2 series with latest target 'for-39' code is available here:

git://git.kernel.org/pub/scm/linux/kernel/git/nab/scsi-post-merge-2.6.git for-39-iscsi-target-v2

Please add your comments folks, and I will plan to respin an updated merge
commit upon review.

Thanks!

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

Nicholas Bellinger (12):
  iscsi: Resolve iscsi_proto.h naming conflicts with
    drivers/target/iscsi
  iscsi-target: Add primary iSCSI request/response state machine logic
  iscsi-target: Add TCM v4 compatiable ConfigFS control plane
  iscsi-target: Add configfs fabric dependent statistics
  iscsi-target: Add TPG and Device logic
  iscsi-target: Add iSCSI Login Negotiation and Parameter logic
  iscsi-target: Add CHAP Authentication support using libcrypto
  iscsi-target: Add Sequence/PDU list + DataIN response logic
  iscsi-target: Add iSCSI Error Recovery Hierarchy support
  iscsi-target: Add support for task management operations
  iscsi-target: Add misc utility and debug logic
  iscsi-target: Add Makefile/Kconfig and update TCM top level

 drivers/infiniband/ulp/iser/iser_initiator.c      |    2 +-
 drivers/scsi/be2iscsi/be_main.h                   |    4 +-
 drivers/scsi/bnx2i/bnx2i_hwi.c                    |    8 +-
 drivers/scsi/bnx2i/bnx2i_iscsi.c                  |    2 +-
 drivers/scsi/libiscsi.c                           |    6 +-
 drivers/target/Kconfig                            |    1 +
 drivers/target/Makefile                           |    1 +
 drivers/target/iscsi/Kconfig                      |   17 +
 drivers/target/iscsi/Makefile                     |   20 +
 drivers/target/iscsi/iscsi_auth_chap.c            |  502 ++
 drivers/target/iscsi/iscsi_auth_chap.h            |   33 +
 drivers/target/iscsi/iscsi_debug.h                |  113 +
 drivers/target/iscsi/iscsi_parameters.c           | 2054 ++++++++
 drivers/target/iscsi/iscsi_parameters.h           |  271 +
 drivers/target/iscsi/iscsi_seq_and_pdu_list.c     |  712 +++
 drivers/target/iscsi/iscsi_seq_and_pdu_list.h     |   88 +
 drivers/target/iscsi/iscsi_target.c               | 5844 +++++++++++++++++++++
 drivers/target/iscsi/iscsi_target.h               |   49 +
 drivers/target/iscsi/iscsi_target_configfs.c      | 1610 ++++++
 drivers/target/iscsi/iscsi_target_configfs.h      |    9 +
 drivers/target/iscsi/iscsi_target_core.h          |  962 ++++
 drivers/target/iscsi/iscsi_target_datain_values.c |  549 ++
 drivers/target/iscsi/iscsi_target_datain_values.h |   15 +
 drivers/target/iscsi/iscsi_target_device.c        |  128 +
 drivers/target/iscsi/iscsi_target_device.h        |    9 +
 drivers/target/iscsi/iscsi_target_erl0.c          | 1085 ++++
 drivers/target/iscsi/iscsi_target_erl0.h          |   19 +
 drivers/target/iscsi/iscsi_target_erl1.c          | 1381 +++++
 drivers/target/iscsi/iscsi_target_erl1.h          |   35 +
 drivers/target/iscsi/iscsi_target_erl2.c          |  534 ++
 drivers/target/iscsi/iscsi_target_erl2.h          |   20 +
 drivers/target/iscsi/iscsi_target_login.c         | 1381 +++++
 drivers/target/iscsi/iscsi_target_login.h         |   14 +
 drivers/target/iscsi/iscsi_target_nego.c          | 1113 ++++
 drivers/target/iscsi/iscsi_target_nego.h          |   19 +
 drivers/target/iscsi/iscsi_target_nodeattrib.c    |  300 ++
 drivers/target/iscsi/iscsi_target_nodeattrib.h    |   14 +
 drivers/target/iscsi/iscsi_target_stat.c          |  955 ++++
 drivers/target/iscsi/iscsi_target_stat.h          |   79 +
 drivers/target/iscsi/iscsi_target_tmr.c           |  908 ++++
 drivers/target/iscsi/iscsi_target_tmr.h           |   16 +
 drivers/target/iscsi/iscsi_target_tpg.c           | 1165 ++++
 drivers/target/iscsi/iscsi_target_tpg.h           |   70 +
 drivers/target/iscsi/iscsi_target_util.c          | 2852 ++++++++++
 drivers/target/iscsi/iscsi_target_util.h          |  128 +
 drivers/target/iscsi/iscsi_thread_queue.c         |  635 +++
 drivers/target/iscsi/iscsi_thread_queue.h         |  102 +
 include/scsi/iscsi_proto.h                        |   30 +-
 48 files changed, 25845 insertions(+), 19 deletions(-)
 create mode 100644 drivers/target/iscsi/Kconfig
 create mode 100644 drivers/target/iscsi/Makefile
 create mode 100644 drivers/target/iscsi/iscsi_auth_chap.c
 create mode 100644 drivers/target/iscsi/iscsi_auth_chap.h
 create mode 100644 drivers/target/iscsi/iscsi_debug.h
 create mode 100644 drivers/target/iscsi/iscsi_parameters.c
 create mode 100644 drivers/target/iscsi/iscsi_parameters.h
 create mode 100644 drivers/target/iscsi/iscsi_seq_and_pdu_list.c
 create mode 100644 drivers/target/iscsi/iscsi_seq_and_pdu_list.h
 create mode 100644 drivers/target/iscsi/iscsi_target.c
 create mode 100644 drivers/target/iscsi/iscsi_target.h
 create mode 100644 drivers/target/iscsi/iscsi_target_configfs.c
 create mode 100644 drivers/target/iscsi/iscsi_target_configfs.h
 create mode 100644 drivers/target/iscsi/iscsi_target_core.h
 create mode 100644 drivers/target/iscsi/iscsi_target_datain_values.c
 create mode 100644 drivers/target/iscsi/iscsi_target_datain_values.h
 create mode 100644 drivers/target/iscsi/iscsi_target_device.c
 create mode 100644 drivers/target/iscsi/iscsi_target_device.h
 create mode 100644 drivers/target/iscsi/iscsi_target_erl0.c
 create mode 100644 drivers/target/iscsi/iscsi_target_erl0.h
 create mode 100644 drivers/target/iscsi/iscsi_target_erl1.c
 create mode 100644 drivers/target/iscsi/iscsi_target_erl1.h
 create mode 100644 drivers/target/iscsi/iscsi_target_erl2.c
 create mode 100644 drivers/target/iscsi/iscsi_target_erl2.h
 create mode 100644 drivers/target/iscsi/iscsi_target_login.c
 create mode 100644 drivers/target/iscsi/iscsi_target_login.h
 create mode 100644 drivers/target/iscsi/iscsi_target_nego.c
 create mode 100644 drivers/target/iscsi/iscsi_target_nego.h
 create mode 100644 drivers/target/iscsi/iscsi_target_nodeattrib.c
 create mode 100644 drivers/target/iscsi/iscsi_target_nodeattrib.h
 create mode 100644 drivers/target/iscsi/iscsi_target_stat.c
 create mode 100644 drivers/target/iscsi/iscsi_target_stat.h
 create mode 100644 drivers/target/iscsi/iscsi_target_tmr.c
 create mode 100644 drivers/target/iscsi/iscsi_target_tmr.h
 create mode 100644 drivers/target/iscsi/iscsi_target_tpg.c
 create mode 100644 drivers/target/iscsi/iscsi_target_tpg.h
 create mode 100644 drivers/target/iscsi/iscsi_target_util.c
 create mode 100644 drivers/target/iscsi/iscsi_target_util.h
 create mode 100644 drivers/target/iscsi/iscsi_thread_queue.c
 create mode 100644 drivers/target/iscsi/iscsi_thread_queue.h

-- 
1.7.4.1

--
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