Re: [PATCH 14/15] IB/srpt: Fix srpt_write_pending()

2016-01-06 Thread Sagi Grimberg

Looks good,

Reviewed-by: Sagi Grimberg 
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 14/15] IB/srpt: Fix srpt_write_pending()

2016-01-05 Thread Bart Van Assche
The only allowed return values for the write_pending() callback
function are 0, -EAGAIN and -ENOMEM. Since attempting to perform
RDMA over a disconnecting channel will result in an IB error
completion anyway, remove the code that checks the channel state
from srpt_write_pending().

Signed-off-by: Bart Van Assche 
Cc: Christoph Hellwig 
---
 drivers/infiniband/ulp/srpt/ib_srpt.c | 33 -
 1 file changed, 4 insertions(+), 29 deletions(-)

diff --git a/drivers/infiniband/ulp/srpt/ib_srpt.c 
b/drivers/infiniband/ulp/srpt/ib_srpt.c
index cacb697..669ae5c 100644
--- a/drivers/infiniband/ulp/srpt/ib_srpt.c
+++ b/drivers/infiniband/ulp/srpt/ib_srpt.c
@@ -2522,39 +2522,14 @@ out_unmap:
  */
 static int srpt_write_pending(struct se_cmd *se_cmd)
 {
-   struct srpt_rdma_ch *ch;
-   struct srpt_send_ioctx *ioctx;
+   struct srpt_send_ioctx *ioctx =
+   container_of(se_cmd, struct srpt_send_ioctx, cmd);
+   struct srpt_rdma_ch *ch = ioctx->ch;
enum srpt_command_state new_state;
-   int ret;
-
-   ioctx = container_of(se_cmd, struct srpt_send_ioctx, cmd);
 
new_state = srpt_set_cmd_state(ioctx, SRPT_STATE_NEED_DATA);
WARN_ON(new_state == SRPT_STATE_DONE);
-
-   ch = ioctx->ch;
-   BUG_ON(!ch);
-
-   switch (ch->state) {
-   case CH_CONNECTING:
-   WARN(true, "unexpected channel state %d\n", ch->state);
-   ret = -EINVAL;
-   goto out;
-   case CH_LIVE:
-   break;
-   case CH_DISCONNECTING:
-   case CH_DRAINING:
-   case CH_DISCONNECTED:
-   pr_debug("cmd with tag %lld: channel disconnecting\n",
-ioctx->cmd.tag);
-   srpt_set_cmd_state(ioctx, SRPT_STATE_DATA_IN);
-   ret = -EINVAL;
-   goto out;
-   }
-   ret = srpt_xfer_data(ch, ioctx);
-
-out:
-   return ret;
+   return srpt_xfer_data(ch, ioctx);
 }
 
 static u8 tcm_to_srp_tsk_mgmt_status(const int tcm_mgmt_status)
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 14/15] IB/srpt: Fix srpt_write_pending()

2016-01-05 Thread Christoph Hellwig
Looks good,

Reviewed-by: Christoph Hellwig 
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html