On 12/08/2015 01:48 AM, Himanshu Madhani wrote: > From: Alexei Potashnik <alexei@xxxxxxxxxxxxxxx> > > 1. Initiator A is logged in with fc_id(1)/loop_id(1) > 2. Initiator A re-logs in with fc_id(2)/loop_id(2) > 3. Part of old session deletion async logoout for 1/1 is queued > 4. Initiator B logs in with fc_id(1)/loop_id(1), starts > passing data and creates session. > 5. Async logo from 3 is processed by DPC and sent to FW > > Now initiator B has the session but is logged out from FW. > > This condition is detected first with CTIO error 29 at which > point we should delete current session. During session > deletion we will send LOGO to initiator to force re-login. > > Under rare circumstances initiator might be logged out of FW, > not have driver session, but still think it's logged in. > E.g. the above sequence plus session deletion due to re-config. > Incoming commands will fail to create local session because > initiator is not found in FW. In this case we also issue LOGO > to initiator to force him re-login. > > Finally this patch fixes exchange leak when commands where > received in logged out state. In this case loop_id must be > set to FFFF when corresponding exchange is terminated. The > patch modifies exchange termination to always use FFFF, > since in certain scenarios it's impossible to tell whether > command was received in logged in or logged out state. > > Signed-off-by: Alexei Potashnik <alexei@xxxxxxxxxxxxxxx> > Acked-by: Quinn Tran <quinn.tran@xxxxxxxxxx> > Signed-off-by: Himanshu Madhani <himanshu.madhani@xxxxxxxxxx> > --- Reviewed-by: Hannes Reinecke <hare@xxxxxxxx> Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@xxxxxxx +49 911 74053 688 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html