[PATCH v1 3/3] IB/srp: Protect free_tx iu list from concurrent flows

2014-02-24 Thread Sagi Grimberg
From: Vu Pham srp_reconnect_rport() serializes calls of srp_rport_reconnect() with srp_queuecommand(), srp_abort(), srp_reset_device(), srp_reset_host() via rport->mutex and also blocks srp_queuecommand(); however, it cannot block scsi error handler commands (stu, tur). This may introduces corrup

Re: [PATCH v1 3/3] IB/srp: Protect free_tx iu list from concurrent flows

2014-02-24 Thread Bart Van Assche
On 02/24/14 15:30, Sagi Grimberg wrote: > From: Vu Pham > > srp_reconnect_rport() serializes calls of srp_rport_reconnect() > with srp_queuecommand(), srp_abort(), srp_reset_device(), > srp_reset_host() via rport->mutex and also blocks srp_queuecommand(); > however, it cannot block scsi error han

Re: [PATCH v1 3/3] IB/srp: Protect free_tx iu list from concurrent flows

2014-02-27 Thread Sagi Grimberg
On 2/24/2014 5:38 PM, Bart Van Assche wrote: On 02/24/14 15:30, Sagi Grimberg wrote: From: Vu Pham srp_reconnect_rport() serializes calls of srp_rport_reconnect() with srp_queuecommand(), srp_abort(), srp_reset_device(), srp_reset_host() via rport->mutex and also blocks srp_queuecommand(); how

Re: [PATCH v1 3/3] IB/srp: Protect free_tx iu list from concurrent flows

2014-02-27 Thread Bart Van Assche
On 02/27/14 12:51, Sagi Grimberg wrote: > Regarding in_scsi_eh, can you end-up still posting a send if you are in > an interrupt context? > it's just that we have a *very* rare case (not easy to reproduce) in > RH6.5 where we end-up posting on a just destroyed QP > (race right in between destroy_qp