Commit fdd46dcb authored by Mike Christie's avatar Mike Christie Committed by James Bottomley
Browse files

[SCSI] iscsi class: modify handling of replacement timeout



This patch modifies the replacement/recovery_timeout so it works
more like the fc fast io fail tmo.

If userspace tries to set the replacement/recovery_timeout to less than
zero, we will turn off the forced recovery cleanup.

If userspace sets the value to 0 then we will force the recovery
cleanup immediately.

Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 3fe5ae8b
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -627,7 +627,9 @@ static void __iscsi_block_session(struct work_struct *work)
	spin_unlock_irqrestore(&session->lock, flags);
	scsi_target_block(&session->dev);
	ISCSI_DBG_TRANS_SESSION(session, "Completed SCSI target blocking\n");
	queue_delayed_work(iscsi_eh_timer_workq, &session->recovery_work,
	if (session->recovery_tmo >= 0)
		queue_delayed_work(iscsi_eh_timer_workq,
				   &session->recovery_work,
				   session->recovery_tmo * HZ);
}

@@ -1348,7 +1350,6 @@ iscsi_set_param(struct iscsi_transport *transport, struct iscsi_uevent *ev)
	switch (ev->u.set_param.param) {
	case ISCSI_PARAM_SESS_RECOVERY_TMO:
		sscanf(data, "%d", &value);
		if (value != 0)
		session->recovery_tmo = value;
		break;
	default: