1. 18 8月, 2016 1 次提交
  2. 16 8月, 2016 1 次提交
  3. 04 8月, 2016 2 次提交
    • S
      nvmet-rdma: Don't use the inline buffer in order to avoid allocation for small reads · 40e64e07
      Sagi Grimberg 提交于
      Under extreme conditions this might cause data corruptions. By doing that
      we we repost the buffer and then post this buffer for the device to send.
      If we happen to use shared receive queues the device might write to the
      buffer before it sends it (there is no ordering between send and recv
      queues). Without SRQs we probably won't get that if the host doesn't
      mis-behave and send more than we allowed it, but relying on that is not
      really a good idea.
      Signed-off-by: NSagi Grimberg <sagi@grimberg.me>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      40e64e07
    • S
      nvmet-rdma: Correctly handle RDMA device hot removal · d8f7750a
      Sagi Grimberg 提交于
      When configuring a device attached listener, we may
      see device removal events. In this case we return a
      non-zero return code from the cm event handler which
      implicitly destroys the cm_id. It is possible that in
      the future the user will remove this listener and by
      that trigger a second call to rdma_destroy_id on an
      already destroyed cm_id -> BUG.
      
      In addition, when a queue bound (active session) cm_id
      generates a DEVICE_REMOVAL event we must guarantee all
      resources are cleaned up by the time we return from the
      event handler.
      
      Introduce nvmet_rdma_device_removal which addresses
      (or at least attempts to) both scenarios.
      Signed-off-by: NSagi Grimberg <sagi@grimberg.me>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      d8f7750a
  4. 08 7月, 2016 1 次提交