25 Jul, 2011

3 commits

  • This patch moves the iscsi_sna_lt() and iscsi_sna_lte(), along with
    iscsi_sna_gt() and iscsi_sna_gte() from iscsi_target_mod into
    static inlines inside of include/scsi/iscsi_proto.h

    This patch also includes the ISCSI_HDR_LEN and ISCSI_CRC_LEN
    definitions.

    (Added JesperJ simpliciation for iscsi_sna_* usage)

    Signed-off-by: Mark Rustad
    Signed-off-by: Mike Christie
    Signed-off-by: Nicholas A. Bellinger

    Nicholas Bellinger
     
  • struct scsi_lun is also just a struct with an array of 8 octets (64 bits)
    but using it instead in iscsi structs lets us call scsilun_to_int
    without a cast, and also lets us copy it using assignment, instead of
    memcpy().

    Signed-off-by: Andy Grover
    Signed-off-by: James Bottomley

    Andy Grover
     
  • This patch renames the following iscsi_proto.h structures to avoid
    namespace issues with drivers/target/iscsi/iscsi_target_core.h:

    *) struct iscsi_cmd -> struct iscsi_scsi_req
    *) struct iscsi_cmd_rsp -> struct iscsi_scsi_rsp
    *) struct iscsi_login -> struct iscsi_login_req

    This patch includes useful ISCSI_FLAG_LOGIN_[CURRENT,NEXT]_STAGE*,
    and ISCSI_FLAG_SNACK_TYPE_* definitions used by iscsi_target_mod, and
    fixes the incorrect definition of struct iscsi_snack to following
    RFC-3720 Section 10.16. SNACK Request.

    Also, this patch updates libiscsi, iSER, be2iscsi, and bn2xi to
    use the updated structure definitions in a handful of locations.

    Signed-off-by: Mike Christie
    Signed-off-by: Nicholas A. Bellinger

    Nicholas Bellinger
     

05 Dec, 2009

1 commit

  • Patch and mail from both MikeC and HannesR:

    Before we're trying to send a PDU we have to check whether a TMF
    is active. If so and if the PDU will be affected by the TMF
    we should allow only Data-out PDUs to be sent.

    If fast_abort is set, no Data-out PDUs will be sent while
    a LUN reset is being processed for a affected LUN.

    fast_abort is now ingored during a ABORT TASK tmf. We will not
    send any Data-outs for a task if the task is being aborted.

    Signed-off-by: Mike Christie
    Signed-off-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Mike Christie
     

12 Jul, 2008

1 commit

  • Let through upto the largest command of 260 defined by the scsi standard.
    iscsi core supports this already. Now that the scsi-ml supports it we can
    start using large commands.

    [jejb:rejections fixed up]
    Signed-off-by: Boaz Harrosh
    Acked-by: Mike Christie
    Signed-off-by: James Bottomley

    Boaz Harrosh
     

19 Apr, 2008

1 commit

  • Support for extended CDBs in iscsi.
    All we need is to check if command spills over 16 bytes then allocate
    an iscsi-extended-header for the leftovers.

    Signed-off-by: Boaz Harrosh
    Reviewed-by: Pete Wyckoff
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Boaz Harrosh
     

08 Feb, 2008

1 commit


12 Jan, 2008

3 commits

  • We were using the device delete sysfs file to remove each device
    then logout. Now in 2.6.21 this will not work because
    the sysfs delete file returns immediately and does not wait for
    the device removal to complete. This causes a hang if a cache sync
    is needed during shutdown. Before .21, that approach had other
    problems, so this patch fixes the shutdown code so that we remove the target
    and unbind the session before logging out and shut down the session

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • at libiscsi generic code
    - currently code assumes a storage space of pdu header is allocated
    at llds ctask and is pointed to by iscsi_cmd_task->hdr. Here I add
    a hdr_max field pertaining to that storage, and an hdr_len that
    accumulates the current use of the pdu-header.

    - Add an iscsi_next_hdr() inline which returns the next free space
    to write new Header at. Also iscsi_next_hdr() is used to retrieve
    the address at which to write the header-digest.

    - Add iscsi_add_hdr(length). What the user do is calls iscsi_next_hdr()
    for address of the new header, than calls iscsi_add_hdr(length) with
    the size of the new header. iscsi_add_hdr() will check if space is
    available and update to the new size. length must be padded according
    to standard.

    - Add 2 padding inline helpers thanks to Olaf. Current patch does not
    use them but Following patches will.
    Also moved definition of ISCSI_PAD_LEN to iscsi_proto.h which had
    PAD_WORD_LEN that was never used anywhere.

    - Let iscsi_prep_scsi_cmd_pdu() signal an Error return since now it is
    possible that it will fail.

    - I was tired of yet again writing a "this is a digest" comment next to
    sizeof(__u32) so I defined a new ISCSI_DIGEST_SIZE. Now I don't need
    any comments. Changed all places that used sizeof(__u32) or "4" in
    connection to a digest.

    iscsi_tcp specific code
    - At struct iscsi_tcp_cmd_task allocate maximum space allowed in
    standard for all headers following the iscsi_cmd header. and mark
    it so in iscsi_tcp_session_create()
    - At iscsi_send_cmd_hdr() retrieve the correct headers size and
    write header digest at iscsi_next_hdr().

    Signed-off-by: Boaz Harrosh
    Signed-off-by: Olaf Kirch
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Boaz Harrosh
     
  • This patch adds logical unit reset support. This should work for ib_iser,
    but I have not finished testing that driver so it is not hooked in yet.

    This patch also temporarily reverts the iscsi_tcp r2t write out patch.
    That code is completely rewritten in this patchset.

    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

12 Mar, 2007

1 commit


10 Feb, 2007

1 commit


20 May, 2006

1 commit


21 Sep, 2005

2 commits

  • From: hare@suse.de

    for a proper alignment between open-iscsi and iscsitarget the
    definitions in include/iscsi_proto.h do not match exactly.

    With this patch it's possible to have iscsitarget use
    'include/iscsi_proto.h' instead of its own iscsi_hdr.h.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     
  • From: michaelc@cs.wisc.edu

    Cleanup some iscsi_proto defs, add some missing values, and
    fix some defs.

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Mike Christie
     

06 Aug, 2005

1 commit

  • open-iscsi-headers.patch - common header files:
    - iscsi_if.h (user/kernel #defines and user/kernel events);
    - iscsi_proto.h (RFC3720 #defines and types);
    - scsi_transport_iscsi.h (transport API, transport #defines and types).

    Signed-off-by: Alex Aizman
    Signed-off-by: Dmitry Yusupov
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    Alex Aizman