Blame SOURCES/0001-do-not-reconnect-if-reconnect-is-already-defered.patch

dc245c
From 327b51ed5b2bdf0a4fc0b50a9cdd8c1f4993e49a Mon Sep 17 00:00:00 2001
dc245c
From: Peter Lieven <pl@kamp.de>
dc245c
Date: Mon, 11 Mar 2013 08:44:11 +0100
dc245c
Subject: [RHEL7 libiscsi PATCH 01/18] do not reconnect if reconnect is already defered
dc245c
dc245c
If the amount of reconnects is limited with iscsi_set_reconnect_max_retries()
dc245c
it might happen that iscsi_reconnect is called while there is already a deferred
dc245c
reconnect.
dc245c
dc245c
Signed-off-by: Peter Lieven <pl@kamp.de>
dc245c
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
dc245c
(cherry-picked from upstream commit 327b51ed5b2bdf0a4fc0b50a9cdd8c1f4993e49a)
dc245c
---
dc245c
 lib/connect.c | 6 ++++++
dc245c
 1 file changed, 6 insertions(+)
dc245c
dc245c
diff --git a/lib/connect.c b/lib/connect.c
dc245c
index 86a60f8..d3fa9d1 100644
dc245c
--- a/lib/connect.c
dc245c
+++ b/lib/connect.c
dc245c
@@ -219,6 +219,12 @@ int iscsi_reconnect(struct iscsi_context *old_iscsi)
dc245c
 {
dc245c
 	struct iscsi_context *iscsi = old_iscsi;
dc245c
 
dc245c
+	/* if there is already a deferred reconnect do not try again */
dc245c
+	if (iscsi->reconnect_deferred) {
dc245c
+		ISCSI_LOG(iscsi, 2, "reconnect initiated, but reconnect is already deferred");
dc245c
+		return -1;
dc245c
+	}
dc245c
+
dc245c
 	ISCSI_LOG(iscsi, 2, "reconnect initiated");
dc245c
 
dc245c
 	/* This is mainly for tests, where we do not want to automatically
dc245c
-- 
dc245c
1.8.1.4
dc245c