• Nicholas Bellinger's avatar
    target: Add WRITE_SAME (10) parsing and refactor passthrough checks · 706d5860
    Nicholas Bellinger authored
    This patch adds initial WRITE_SAME (10) w/ UNMAP=1 support following updates in
    sbcr26 to allow UNMAP=1 for the non 16 + 32 byte CDB case.  It also refactors
    current pSCSI passthrough passthrough checks into target_check_write_same_discard()
    ahead of UNMAP=0 w/ write payload support into target_core_iblock.c.
    
    This includes the support for handling WRITE_SAME in transport_emulate_control_cdb(),
    and converts target_emulate_write_same to accept num_blocks directly for
    WRITE_SAME, WRITE_SAME_16 and WRITE_SAME_32.
    Reported-by: default avatarEric Seppanen <eric@purestorage.com>
    Cc: Roland Dreier <roland@purestorage.com>
    Cc: Christoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarNicholas Bellinger <nab@risingtidesystems.com>
    706d5860
target_core_transport.c 142 KB