Hi Nic, On 7/6/15, 6:16 PM, "Nicholas A. Bellinger" <nab@xxxxxxxxxxxxxxx> wrote: >Hi Himanshu & Co, > >(Adding target-devel for the qla_target.c bits, please include this > list for future target patches :-) Will do that for future submissions. > >On Thu, 2015-06-25 at 12:33 -0400, Himanshu Madhani wrote: >> Hi James, >> >> This series is applied on top of patch series sent on June 10 >> [PATCH 0/9] qla2xxx: Patches for scsi "misc" branch >> (http://marc.info/?l=linux-scsi&m=143395156920505&w=2) >> >> These set of patches addresses issue with reuse of stale command found >> in a customer enviorment. Here's sequence of events which could result >> into this reuse of stale command which could potentially lead to data >> corruption. >> >> - Backend driver goes out of sync with front end driver due to session >> management problem. >> - During this time a session receives a NEW login by the same >>initiator. >> - All the commands from previous session are not flushed before >>establishing >> a new session/connection. >> - These stale commands leaks into new session resulting into case >> where they could potentially share same Exchange ID. >> >> In such case data can cross path between old and new session when the >>frontend >> driver/fabric driver allows a new connection to be established without >>backend >> knowledge. To fix this problem, old session is destroyed first before >>creating >> new session. The session destroy process would wait for all existing >>commands >> to finish. >> >> Please apply these patches to scsi tree at your earliest for inclusion >>in the >> next mainline merge window. >> >> Thanks, >> Himanshu >> >> Alexei Potashnik (8): >> qla2xxx: delay plogi/prli ack until existing sessions are deleted >> qla2xxx: Abort stale cmds on qla_tgt_wq when plogi arrives >> qla2xxx: added sess generations to detect RSCN update races >> qla2xxx: disable scsi_transport_fc registration in target mode >> qla2xxx: drop cmds/tmrs arrived while session is being deleted >> qla2xxx: terminate exchange when command is aborted by LIO >> qla2xxx: delete session if initiator is gone from FW >> qla2xxx: wait for all conflicts before ack'ing PLOGI >> >> Himanshu Madhani (1): >> qla2xxx: Added interface to send ELS commands from driver. >> >> Roland Dreier (1): >> qla2xxx: kill sessions/log out initiator on RSCN and port down events >> >> Swapnil Nagle (1): >> qla2xxx: cleanup cmd in qla workqueue before processing TMR >> >> drivers/scsi/qla2xxx/qla_attr.c | 36 ++ >> drivers/scsi/qla2xxx/qla_dbg.c | 13 +- >> drivers/scsi/qla2xxx/qla_def.h | 35 ++- >> drivers/scsi/qla2xxx/qla_gbl.h | 2 + >> drivers/scsi/qla2xxx/qla_init.c | 188 ++++++-- >> drivers/scsi/qla2xxx/qla_inline.h | 2 + >> drivers/scsi/qla2xxx/qla_iocb.c | 192 ++++++++ >> drivers/scsi/qla2xxx/qla_isr.c | 6 + >> drivers/scsi/qla2xxx/qla_os.c | 13 +- >> drivers/scsi/qla2xxx/qla_target.c | 930 >>+++++++++++++++++++++++++++++++++--- >> drivers/scsi/qla2xxx/qla_target.h | 88 +++- >> drivers/scsi/qla2xxx/tcm_qla2xxx.c | 23 +- >> 12 files changed, 1387 insertions(+), 141 deletions(-) >> > >Since this series addresses a real correctness problem and is destined >for stable backports, I don't see a reason to wait until the v4.3-rc1 >merge window to merge this code, even though it's a pretty large change. > >James, are you going to push this for v4.2-rc scsi-core fixes, or shall >I push via target-pending/master instead..? > >Thank you, > >--nab > Thanks, -Himanshu > -- 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