Roman, > [...] > > So, as a summary, it seems that the existing code mostly keeps > sessions > until: > - a conflict of N_Port_ID, N_Port_Name or N_Port handle detected; > - the session is in the middle of refresh/rescan and RSCN arrives; > - there's an explicit process or port logout from the session, i.e. > PRLO, TPRLO, LOGO > - there's a new port or process login from the same session, i.e. > PLOGI, PRLI; > - target is shut down; > - target port link is reset; > > And if a session of an initiator is deleted when driver works in > target > mode, new session won't be established until a PLOGI and PRLI come > from > the initiator. > > The assumption is used qlt_handle_cmd_for_atio() and > qlt_handle_task_mgmt() to discard commands and TMFs from initiators > that > are not logged in. > thank you for this incredibly extensive response. I'll bookmark it, I guess it can serve as a reference for future qla2xxx work. I hope you didn't do all this work just for my little question. Forgive me that I won't immediately try to review this document in detail. You've studied and understood this driver in much more depth than I probably ever will. Thanks again, Martin > Thanks, > Roman