| From 83337e544323a8bd7492994d64af339175ac7107 Mon Sep 17 00:00:00 2001 |
| From: Varun Prakash <varun@chelsio.com> |
| Date: Sun, 11 Dec 2016 22:05:56 +0530 |
| Subject: iscsi-target: Return error if unable to add network portal |
| |
| From: Varun Prakash <varun@chelsio.com> |
| |
| commit 83337e544323a8bd7492994d64af339175ac7107 upstream. |
| |
| If iscsit_tpg_add_network_portal() fails then |
| return error code instead of 0 to user space. |
| |
| If iscsi-target returns 0 then user space keeps |
| on retrying same command infinitely, targetcli or |
| echo hangs till command completes with non zero |
| return value. In some cases it is possible that |
| add network portal command never completes with |
| success even after retrying multiple times, |
| for example - cxgbit_setup_np() always returns |
| -EINVAL if portal IP does not belong to Chelsio |
| adapter interface. |
| |
| Signed-off-by: Varun Prakash <varun@chelsio.com> |
| Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> |
| [ bvanassche: Added "Fixes:" and "Cc: stable" tags ] |
| Fixes: commit d4b3fa4b0881 ("iscsi-target: Make iscsi_tpg_np driver show/store use generic code") |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/target/iscsi/iscsi_target_configfs.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/target/iscsi/iscsi_target_configfs.c |
| +++ b/drivers/target/iscsi/iscsi_target_configfs.c |
| @@ -100,8 +100,10 @@ static ssize_t lio_target_np_driver_stor |
| |
| tpg_np_new = iscsit_tpg_add_network_portal(tpg, |
| &np->np_sockaddr, tpg_np, type); |
| - if (IS_ERR(tpg_np_new)) |
| + if (IS_ERR(tpg_np_new)) { |
| + rc = PTR_ERR(tpg_np_new); |
| goto out; |
| + } |
| } else { |
| tpg_np_new = iscsit_tpg_locate_child_np(tpg_np, type); |
| if (tpg_np_new) { |