Skip to content
  • Nicholas Bellinger's avatar
    target: Allow sbc_ops->execute_rw() to accept SGLs + data_direction · a82a9538
    Nicholas Bellinger authored
    
    
    COMPARE_AND_WRITE expects to be able to send down a DMA_FROM_DEVICE
    to obtain the necessary READ payload for comparision against the
    first half of the WRITE payload containing the verify user data.
    
    Currently virtual backends expect to internally reference SGLs,
    SGL nents, and data_direction, so change IBLOCK, FILEIO and RD
    sbc_ops->execute_rw() to accept this values as function parameters.
    
    Also add default sbc_execute_rw() handler for the typical case for
    cmd->execute_rw() submission using cmd->t_data_sg, cmd->t_data_nents,
    and cmd->data_direction).
    
    v2 Changes:
      - Add SCF_COMPARE_AND_WRITE command flag
      - Use sbc_execute_rw() for normal cmd->execute_rw() submission
        with expected se_cmd members.
    
    Cc: Christoph Hellwig <hch@lst.de>
    Cc: Hannes Reinecke <hare@suse.de>
    Cc: Martin Petersen <martin.petersen@oracle.com>
    Cc: Chris Mason <chris.mason@fusionio.com>
    Cc: James Bottomley <JBottomley@Parallels.com>
    Cc: Nicholas Bellinger <nab@linux-iscsi.org>
    Signed-off-by: default avatarNicholas Bellinger <nab@daterainc.com>
    a82a9538