Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2363d196 authored by Nicholas Bellinger's avatar Nicholas Bellinger
Browse files

iser-target: Fix multi network portal shutdown regression



This patch fixes a iser-target specific regression introduced in
v3.15-rc6 with:

commit 14f4b54f
Author: Sagi Grimberg <sagig@mellanox.com>
Date:   Tue Apr 29 13:13:47 2014 +0300

    Target/iscsi,iser: Avoid accepting transport connections during stop stage

where the change to set iscsi_np->enabled = false within
iscsit_clear_tpg_np_login_thread() meant that a iscsi_np with
two iscsi_tpg_np exports would have it's parent iscsi_np set
to a disabled state, even if other iscsi_tpg_np exports still
existed.

This patch changes iscsit_clear_tpg_np_login_thread() to only
set iscsi_np->enabled = false when shutdown = true, and also
changes iscsit_del_np() to set iscsi_np->enabled = true when
iscsi_np->np_exports is non zero.

Cc: Sagi Grimberg <sagig@dev.mellanox.co.il>
Cc: stable@vger.kernel.org # 3.10+
Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
parent 79d59d08
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -460,6 +460,7 @@ int iscsit_del_np(struct iscsi_np *np)
	spin_lock_bh(&np->np_thread_lock);
	np->np_exports--;
	if (np->np_exports) {
		np->enabled = true;
		spin_unlock_bh(&np->np_thread_lock);
		return 0;
	}
+2 −1
Original line number Diff line number Diff line
@@ -184,6 +184,7 @@ static void iscsit_clear_tpg_np_login_thread(
		return;
	}

	if (shutdown)
		tpg_np->tpg_np->enabled = false;
	iscsit_reset_np_thread(tpg_np->tpg_np, tpg_np, tpg, shutdown);
}