• Boaz Harrosh's avatar
    [SCSI] iscsi_tcp, libiscsi: initial AHS Support · 004d6530
    Boaz Harrosh authored
      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: default avatarBoaz Harrosh <bharrosh@panasas.com>
    Signed-off-by: default avatarOlaf Kirch <olaf.kirch@oracle.com>
    Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: default avatarJames Bottomley <James.Bottomley@HansenPartnership.com>
    004d6530
libiscsi.c 59.4 KB