On Thu, 2017-02-09 at 22:56 -0800, Nicholas A. Bellinger wrote: > With v4 and v5 changes, tmr_wq blocks on a new cmd->[finished,complete] > completion after CMD_T_STOP has been set. CTIO interrupts fire for the > outstanding WRITE transfer, and tcm_qla2xxx_handle_data_work() returns > immediately for the aborted qla_tgt_cmd->se_cmd. > > How can that possibly allow the aborted command to continue > processing..? The LIO core calls the tcm_qla2xxx .write_pending() callback function to initiate an asynchronous data transfer from initiator to target. After that data transfer has finished the tcm_qla2xxx target driver calls target_execute_cmd(). That function will check the CMD_T_ABORTED flag and will call target_handle_abort() if that flag has been set. No matter whether or not that last function decides to queue a response, after all command references have been dropped the 'complete' completion will be set. The ABORT TMF waits for that completion. Bart.-- 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