1. 13 12月, 2014 19 次提交
  2. 20 11月, 2014 1 次提交
  3. 03 11月, 2014 2 次提交
  4. 09 10月, 2014 2 次提交
  5. 05 10月, 2014 1 次提交
  6. 04 10月, 2014 1 次提交
  7. 16 9月, 2014 4 次提交
  8. 12 6月, 2014 2 次提交
  9. 04 6月, 2014 1 次提交
    • N
      iser-target: Add missing target_put_sess_cmd for ImmedateData failure · 6cc44a6f
      Nicholas Bellinger 提交于
      This patch addresses a bug where an early exception for SCSI WRITE
      with ImmediateData=Yes was missing the target_put_sess_cmd() call
      to drop the extra se_cmd->cmd_kref reference obtained during the
      normal iscsit_setup_scsi_cmd() codepath execution.
      
      This bug was manifesting itself during session shutdown within
      isert_cq_rx_comp_err() where target_wait_for_sess_cmds() would
      end up waiting indefinately for the last se_cmd->cmd_kref put to
      occur for the failed SCSI WRITE + ImmediateData descriptors.
      
      This fix follows what traditional iscsi-target code already does
      for the same failure case within iscsit_get_immediate_data().
      Reported-by: NSagi Grimberg <sagig@dev.mellanox.co.il>
      Cc: Sagi Grimberg <sagig@dev.mellanox.co.il>
      Cc: Or Gerlitz <ogerlitz@mellanox.com>
      Cc: stable@vger.kernel.org # 3.10+
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      6cc44a6f
  10. 21 5月, 2014 3 次提交
  11. 20 5月, 2014 2 次提交
    • S
      Target/iser: Fix hangs in connection teardown · 9d49f5e2
      Sagi Grimberg 提交于
      In ungraceful teardowns isert close flows seem racy such that
      isert_wait_conn hangs as RDMA_CM_EVENT_DISCONNECTED never
      gets invoked (no one called rdma_disconnect).
      
      Both graceful and ungraceful teardowns will have rx flush errors
      (isert posts a batch once connection is established). Once all
      flush errors are consumed we invoke isert_wait_conn and it will
      be responsible for calling rdma_disconnect. This way it can be
      sure that rdma_disconnect was called and it won't wait forever.
      
      This patch also removes the logout_posted indicator. either the
      logout completion was consumed and no problem decrementing the
      post_send_buf_count, or it was consumed as a flush error. no point
      of keeping it for isert_wait_conn as there is no danger that
      isert_conn will be accidentally removed while it is running.
      
      (Drop unnecessary sleep_on_conn_wait_comp check in
       isert_cq_rx_comp_err - nab)
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Cc: stable@vger.kernel.org # 3.10+
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      9d49f5e2
    • S
      Target/iser: Bail from accept_np if np_thread is trying to close · e346ab34
      Sagi Grimberg 提交于
      In case np_thread state is in RESET/SHUTDOWN/EXIT states,
      no point for isert to stall there as we may get a hang in
      case no one will wake it up later.
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Cc: stable@vger.kernel.org # 3.10+
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      e346ab34
  12. 16 5月, 2014 2 次提交
    • S
      Target/iscsi,iser: Avoid accepting transport connections during stop stage · 14f4b54f
      Sagi Grimberg 提交于
      When the target is in stop stage, iSER transport initiates RDMA disconnects.
      The iSER initiator may wish to establish a new connection over the
      still existing network portal. In this case iSER transport should not
      accept and resume new RDMA connections. In order to learn that, iscsi_np
      is added with enabled flag so the iSER transport can check when deciding
      weather to accept and resume a new connection request.
      
      The iscsi_np is enabled after successful transport setup, and disabled
      before iscsi_np login threads are cleaned up.
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Cc: stable@vger.kernel.org # 3.10+
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      14f4b54f
    • S
      Target/iser: Fix iscsit_accept_np and rdma_cm racy flow · 531b7bf4
      Sagi Grimberg 提交于
      RDMA CM and iSCSI target flows are asynchronous and completely
      uncorrelated. Relying on the fact that iscsi_accept_np will be called
      after CM connection request event and will wait for it is a mistake.
      
      When attempting to login to a few targets this flow is racy and
      unpredictable, but for parallel login to dozens of targets will
      race and hang every time.
      
      The correct synchronizing mechanism in this case is pending on
      a semaphore rather than a wait_for_event. We keep the pending
      interruptible for iscsi_np cleanup stage.
      
      (Squash patch to remove dead code into parent - nab)
      Reported-by: NSlava Shwartsman <valyushash@gmail.com>
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Cc: stable@vger.kernel.org # 3.10+
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      531b7bf4