iser-target: Fix multi network portal shutdown regression
This patch fixes a iser-target specific regression introduced in
v3.15-rc6 with:
commit 14f4b54fe3
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: Nicholas Bellinger <nab@linux-iscsi.org>
This commit is contained in:
parent
79d59d0808
commit
2363d19668
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user