>>>>> "Sagi" == Sagi Grimberg <sagig@xxxxxxxxxxxxxxxxxx> writes: Sagi> The problem is that the HBA does not have the write_same Sagi> functionality you introduce here, i.e. generate multiple same Sagi> protection fields for a single data block. Adding support to DIX would be problematic since it would essentially turn a WRITE SAME into a WRITE. You'd only do one block of DMA but you'd get N blocks going over the wire. In target mode it is conceivable to set up a prot sgl after parsing the CDB and let the HBA do the work. But I'm not aware of any hardware that allows that. Sagi> In this case, for WRITE_SAME, have the fabrics generate/verify a Sagi> single data block (one integrity field) like they do today, and Sagi> then the core will expand it to the correct number of sectors Sagi> using some form of sbc_dif_expand_same() Yeah. In a simple world you'd just keep overriding the ref tag in the received PI tuple. But for performance reasons you'll obviously want to do I/O in units bigger than a single block. Blindly preallocating PI to fit the entire I/O is also be problematic, however, since a block count of 0 unfortunately means "the whole disk". -- Martin K. Petersen Oracle Linux Engineering -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html