1. 09 10月, 2014 6 次提交
  2. 23 9月, 2014 1 次提交
  3. 02 8月, 2014 8 次提交
  4. 26 5月, 2014 2 次提交
    • A
      IB/iser: Fix a possible race in iser connection states transition · 66d4e62d
      Ariel Nahum 提交于
      In some circumstances (multiple targets), RDMA_CM ESTABLISHED event
      and ep_disconnect may race. In this case, the iser connection state
      may transition to UP (after ep_disconnect transitioned it to
      TERMINATING), while the connection is being torn down.
      
      Upon RDMA_CM event ESTABLISHED we allow iser connection state to
      transition to UP only from PENDING. We also make sure to protect this
      state change (done under the connection lock).
      Signed-off-by: NAriel Nahum <arieln@mellanox.com>
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      66d4e62d
    • A
      IB/iser: Simplify connection management · b73c3ada
      Ariel Nahum 提交于
      iSER relies on refcounting to manage iser connections establishment
      and teardown.
      
      Following commit 39ff05db ("IB/iser: Enhance disconnection logic
      for multi-pathing"), iser connection maintain 3 references:
      
       - iscsi_endpoint (at creation stage)
       - cma_id (at connection request stage)
       - iscsi_conn (at bind stage)
      
      We can avoid taking explicit refcounts by correctly serializing iser
      teardown flows (graceful and non-graceful).
      
      Our approach is to trigger a scheduled work to handle ordered teardown
      by gracefully waiting for 2 cleanup stages to complete:
      
       1. Cleanup of live pending tasks indicated by iscsi_conn_stop completion
       2. Flush errors processing
      
      Each completed stage will notify a waiting worker thread when it is
      done to allow teardwon continuation.
      
      Since iSCSI connection establishment may trigger endpoint disconnect
      without a successful endpoint connect, we rely on the iscsi <-> iser
      binding (.conn_bind) to learn about the teardown policy we should take
      wrt cleanup stages.
      
      Since all cleanup worker threads are scheduled (release_wq) in
      .ep_disconnect it is safe to assume that when module_exit is called,
      all cleanup workers are already scheduled. Thus proper module unload
      shall flush all scheduled works before allowing safe exit, to
      guarantee no resources got left behind.
      Signed-off-by: NAriel Nahum <arieln@mellanox.com>
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Reviewed-by: NRoi Dayan <roid@mellanox.com>
      Reviewed-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      b73c3ada
  5. 02 4月, 2014 5 次提交
  6. 18 3月, 2014 8 次提交
  7. 15 2月, 2014 1 次提交
  8. 03 9月, 2013 1 次提交
  9. 10 8月, 2013 5 次提交
  10. 05 6月, 2013 2 次提交
  11. 02 5月, 2013 1 次提交
    • O
      IB/iser: Add support for iser CM REQ additional info · 8d8399de
      Or Gerlitz 提交于
      Annex A12 of the IBTA spec defines additional information that needs
      to be provided through the CM exchange relating to usage of ZBVA (Zero
      Based VAs) and Send With Invalidate over an iSER connection.
      
      Currently, the initiator sets both to not supported, but does provide
      the header so that existing iSER targets can be patched to start
      looking on the private data carried by the CM.
      
      This is a preparation step to enable iSER with HW drivers for which
      FMRs are not supported, such as mlx4 VF instances or new HW devices
      which might support only FRWR (Fast Registration Work-Requests) along
      the details of the IB_DEVICE_MEM_MGT_EXTENSIONS device capability.
      Signed-off-by: NOr Gerlitz <ogerlitz@mellanox.com>
      Signed-off-by: NRoland Dreier <roland@purestorage.com>
      8d8399de