1. 24 7月, 2017 1 次提交
  2. 17 7月, 2017 1 次提交
    • V
      IB/iser: Fix connection teardown race condition · c8c16d3b
      Vladimir Neyelov 提交于
      Under heavy iser target(scst) start/stop stress during login/logout
      on iser intitiator side happened trace call provided below.
      
      The function iscsi_iser_slave_alloc iser_conn pointer could be NULL,
      due to the fact that function iscsi_iser_conn_stop can be called before
      and free iser connection. Let's protect that flow by introducing global mutex.
      
      BUG: unable to handle kernel paging request at 0000000000001018
      IP: [<ffffffffc0426f7e>] iscsi_iser_slave_alloc+0x1e/0x50 [ib_iser]
      Call Trace:
      ? scsi_alloc_sdev+0x242/0x300
      scsi_probe_and_add_lun+0x9e1/0xea0
      ? kfree_const+0x21/0x30
      ? kobject_set_name_vargs+0x76/0x90
      ? __pm_runtime_resume+0x5b/0x70
      __scsi_scan_target+0xf6/0x250
      scsi_scan_target+0xea/0x100
      iscsi_user_scan_session.part.13+0x101/0x130 [scsi_transport_iscsi]
      ? iscsi_user_scan_session.part.13+0x130/0x130 [scsi_transport_iscsi]
      iscsi_user_scan_session+0x1e/0x30 [scsi_transport_iscsi]
      device_for_each_child+0x50/0x90
      iscsi_user_scan+0x44/0x60 [scsi_transport_iscsi]
      store_scan+0xa8/0x100
      ? common_file_perm+0x5d/0x1c0
      dev_attr_store+0x18/0x30
      sysfs_kf_write+0x37/0x40
      kernfs_fop_write+0x12c/0x1c0
      __vfs_write+0x18/0x40
      vfs_write+0xb5/0x1a0
      SyS_write+0x55/0xc0
      
      Fixes: 318d311e ("iser: Accept arbitrary sg lists mapping if the device supports it")
      Cc: <stable@vger.kernel.org> # v4.5+
      Signed-off-by: NVladimir Neyelov <vladimirn@mellanox.com>
      Signed-off-by: NLeon Romanovsky <leon@kernel.org>
      Reviewed-by: NSagi Grimberg <sagi@grimbeg.me>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      c8c16d3b
  3. 07 2月, 2017 1 次提交
  4. 25 1月, 2017 3 次提交
  5. 25 12月, 2016 1 次提交
  6. 06 5月, 2016 1 次提交
  7. 05 3月, 2016 1 次提交
  8. 24 12月, 2015 1 次提交
  9. 23 12月, 2015 1 次提交
  10. 29 10月, 2015 2 次提交
    • S
      IB/iser: Enable SG clustering · 630c3183
      Sagi Grimberg 提交于
      iser is perfectly capable supporting SG clustering as it translates
      the SG list to a page vector. Enabling SG clustering can dramatically
      reduce the number of SG elements, which doesn't make much of a difference
      at this point, but with arbitrary SG list support, reducing the
      number of SG elements can benefit greatly as as it would reduce
      the length of the HW descriptors array.
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      630c3183
    • S
      IB/iser: set block queue_virt_boundary · dd0107a0
      Sagi Grimberg 提交于
      The block layer can reliably guarantee that SG lists won't
      contain gaps (page unaligned) if a driver set the queue
      virt_boundary.
      
      With this setting the block layer will:
      - refuse merges if bios are not aligned to the virtual boundary
      - split bios/requests that are not aligned to the virtual boundary
      - or, bounce buffer SG_IOs that are not aligned to the virtual boundary
      
      Since iser is working in 4K page size, set the virt_boundary to
      4K pages. With this setting, we can now safely remove the bounce
      buffering logic in iser.
      Signed-off-by: NSagi Grimberg <sagig@mellanox.com>
      Reviewed-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      dd0107a0
  11. 23 10月, 2015 1 次提交
  12. 22 10月, 2015 1 次提交
  13. 25 9月, 2015 1 次提交
  14. 31 8月, 2015 8 次提交
  15. 29 8月, 2015 1 次提交
  16. 16 12月, 2014 5 次提交
  17. 24 11月, 2014 2 次提交
  18. 09 10月, 2014 7 次提交
  19. 23 9月, 2014 1 次提交