>>>>> "nab" == Nicholas A Bellinger <nab@xxxxxxxxxxxxxxx> writes: >> How do you handle RDPROTECT/WRPROTECT values of 3 if the PI is not >> persistent? nab> AFAICT, this would result in cmd->prot_op = TARGET_PROT_*_PASS and cmd-> prot_checks = 0 for RDPROTECT/WRPROTECT == 0x3 in nab> sbc_set_prot_op_checks() code. nab> Do DOUT_STRIP + DIN_INSERT need to be called if a protection buffer nab> is present when RDPROTECT/WRPROTECT == 0x3 if fabric_prot was nab> cleared..? Or should the command be rejected when a protection nab> buffer is present + RDPROTECT/WRPROTECT is non-zero if fabric_prot nab> was cleared..? Depends how compliant you want to be. You can synthesize PI with RDPROTECT/WRPROTECT=1 as long as the initiator doesn't rely on app tag escapes (we don't). Most non-HDD/SSD targets work this way. I would suggest that you return invalid field in CDB for RDPROTECT/WRPROTECT=3 unless the PI can be made persistent, however. -- Martin K. Petersen Oracle Linux Engineering -- To unsubscribe from this list: send the line "unsubscribe target-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html