On Tue, 2017-01-31 at 14:46 -0600, Mike Christie wrote: > On 01/30/2017 03:42 PM, Bart Van Assche wrote: > > Maybe I overlooked something but I haven't found any clause in SAM-5 that > > specifies in which order task management functions should be executed. But > > I will add a comment in the code that explains this. > > Does it depend on the transport? > > I am not sure if it is the same thing, but 6.3.3 in SAM says a LU RESET > would need to terminate all other TMFs that were executing. And for > iscsi, a LU RESET and ABORT TASK SET with a cmd sequence number N is > supposed to terminate tasks and TMFs with cmd sequence numbers N - 1, > and iscsi also says that if a TMF has terminated a task/TMF then the > target cannot send responses for it. > > So I think we have execute them in order or make it look like they did. > The drain call does though right? I'm not sure the drain call guarantees this for TMFs that affect multiple logical units since today there is one WQ per logical unit. Since SCSI transport layers that require that the transport layer delivers TMFs in the same order as submitted by the initiator I think this means that we need one WQ per I_T nexus for TMFs instead of one per device to be able to implement TARGET_SCF_IGNORE_TMR_LUN. 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