26 Oct, 2010

1 commit

  • This patch adds the Scatter-Gather (sg) API to libosd.
    Scatter-gather enables a write/read of multiple none-contiguous
    areas of an object, in a single call. The extents may overlap
    and/or be in any order.

    The Scatter-Gather list is sent to the target in what is called
    a "cdb continuation segment". This is yet another possible segment
    in the osd-out-buffer. It is unlike all other segments in that it
    sits before the actual "data" segment (which until now was always
    first), and that it is signed by itself and not part of the data
    buffer. This is because the cdb-continuation-segment is considered
    a spill-over of the CDB data, and is therefor signed under
    OSD_SEC_CAPKEY and higher.

    TODO: A new osd_finalize_request_ex version should be supplied so
    the @caps received on the network also contains a size parameter
    and can be spilled over into the "cdb continuation segment".

    Thanks to John Chandy for the original
    code, and investigations. And the implementation of SG support
    in the osd-target.

    Original-coded-by: John Chandy
    Signed-off-by: Boaz Harrosh
    Signed-off-by: James Bottomley

    Boaz Harrosh
     

05 Dec, 2009

1 commit


10 Jun, 2009

1 commit


28 Apr, 2009

3 commits

  • OSC's OSD2 target: [git clone git://git.open-osd.org/osc-osd/ master]
    (Initiator code prior to this patch must use: "git checkout CDB_VER_OSD2r01"
    in the target tree above)

    This is a summery of the wire changes:

    * OSDv2_ADDITIONAL_CDB_LENGTH == 192 => 228 (Total CDB is now 236 bytes)
    * Attributes List Element Header grew, so attribute values are 8 bytes
    aligned.
    * Cryptographic keys and signatures are 20 => 32
    * Few new definitions.

    (Still missing new standard definitions attribute values, these do not change
    wire format and will be added later when needed)

    Signed-off-by: Boaz Harrosh
    Signed-off-by: James Bottomley

    Boaz Harrosh
     
  • In OSD2r04 draft, cryptographic key size changed to 32 bytes from
    OSD1's 20 bytes. This causes a couple of on-the-wire structures
    to change, including the CDB.

    In this patch the OSD1/OSD2 handling is separated out in regard
    to affected structures, but on-the-wire is still the same. All
    on the wire changes will be submitted in one patch for bisect-ability.

    Signed-off-by: Boaz Harrosh
    Signed-off-by: James Bottomley

    Boaz Harrosh
     
  • In OSD2r05 draft each attribute list element header was changed
    so attribute-value would be 8 bytes aligned. In OSD2r01-r04
    it was aligned on 2 bytes. (This is because in OSD2r01 the complete
    element was 8 bytes padded at end but the header was not adjusted
    and caused permanent miss-alignment.)

    OSD1 elements are not padded and might be or might not be aligned.
    OSD1 is still supported.

    In this code we do all the code re-factoring to separate OSD1/OSD2
    differences but do not change actual wire format. All wire format
    changes will happen in one patch later, for bisect-ability.

    Signed-off-by: Boaz Harrosh
    Signed-off-by: James Bottomley

    Boaz Harrosh
     

13 Mar, 2009

2 commits

  • Add support for OSD2 at run time. It is now possible to run with
    both OSDv1 and OSDv2 targets at the same time. The actual detection
    should be preformed by the security manager, as the version is encoded
    in the capability structure.

    Signed-off-by: Boaz Harrosh
    Reviewed-by: Benny Halevy
    Signed-off-by: James Bottomley

    Boaz Harrosh
     
  • Headers only patch.

    osd_protocol.h
    Contains a C-fied definition of the T10 OSD standard
    osd_types.h
    Contains CPU order common used types
    osd_initiator.h
    API definition of the osd_initiator library
    osd_sec.h
    Contains High level API for the security manager.

    [Note that checkpatch spews errors on things that are valid in this context
    and will not be fixed]

    Signed-off-by: Boaz Harrosh
    Reviewed-by: Benny Halevy
    Signed-off-by: James Bottomley

    Boaz Harrosh