Re: [PATCH 0/5] SRP initiator patches for kernel 3.17

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(CC'ing linux-scsi)

On 07/03/14 15:45, Bart Van Assche wrote:> If scsi_remove_host() is called while an rport is in the blocked
> state then scsi_remove_host() will only finish if the rport is
> unblocked from inside a timer function. Make sure that an rport
> only enters the blocked state if a timer will be started that
> will unblock it. This avoids that unloading the ib_srp kernel
> module after having disconnected the initiator from the target
> system results in a deadlock if both the fast_io_fail_tmo and
> dev_loss_tmo parameters have been set to "off".
> 
> Signed-off-by: Bart Van Assche <bvanassche@xxxxxxx>
> Cc: James Bottomley <jbottomley@xxxxxxxxxxxxx>
> Cc: Sagi Grimberg <sagig@xxxxxxxxxxxx>
> Cc: Sebastian Parschauer <sebastian.riemer@xxxxxxxxxxxxxxxx>
> Cc: David Dillow <dave@xxxxxxxxxxxxxx>
> Cc: <stable@xxxxxxxxxxxxxxx>
> ---
>  drivers/scsi/scsi_transport_srp.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/scsi/scsi_transport_srp.c b/drivers/scsi/scsi_transport_srp.c
> index 13e8983..a0c5bfd 100644
> --- a/drivers/scsi/scsi_transport_srp.c
> +++ b/drivers/scsi/scsi_transport_srp.c
> @@ -473,7 +473,8 @@ static void __srp_start_tl_fail_timers(struct srp_rport *rport)
>  	if (delay > 0)
>  		queue_delayed_work(system_long_wq, &rport->reconnect_work,
>  				   1UL * delay * HZ);
> -	if (srp_rport_set_state(rport, SRP_RPORT_BLOCKED) == 0) {
> +	if ((fast_io_fail_tmo >= 0 || dev_loss_tmo >= 0) &&
> +	    srp_rport_set_state(rport, SRP_RPORT_BLOCKED) == 0) {
>  		pr_debug("%s new state: %d\n", dev_name(&shost->shost_gendev),
>  			 rport->state);
>  		scsi_target_block(&shost->shost_gendev);
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux