Skip to content

IB SRP initiator patches for kernel 3.11

Bart Van Assche linux-rdma linux-scsi 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest12 of 13 patches 27 repliesIn review
  2. v213 of 15 patches 27 repliesSuperseded
  3. v113 of 14 patches 34 repliesSuperseded

Changes in v3 from the cover letter

- Addressed the v2 review comments.
- Dropped the patches that have already been merged.
- Dropped the patches for integration with multipathd.
- Dropped the micro-optimization of the IB completion handlers.

12 of 13 patches are in this archive. The cover letter announces 13.

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/13IB/srp: Fix remove_one crash due to resource exhaustiondrivers/infiniband/ulp/srp/ib_srp.c+2 -00 replies
2/13IB/srp: Avoid that srp_reset_host() is skipped after a TL errordrivers/infiniband/ulp/srp/ib_srp.c+7 -30 replies
3/13IB/srp: Fail I/O fast if target offlinedrivers/infiniband/ulp/srp/ib_srp.c+2 -00 replies
4/13IB/srp: Skip host settle delaydrivers/infiniband/ulp/srp/ib_srp.c+1 -00 replies
5/13IB/srp: Maintain a single connection per I_T nexusdrivers/infiniband/ulp/srp/ib_srp.c+42 -20 replies
7/13scsi_transport_srp: Add transport layer error handlingDocumentation/ABI/stable/sysfs-transport-srp drivers/scsi/scsi_transport_srp.c include/scsi/scsi_transport_srp.h+565 -311 replies
8/13IB/srp: Add srp_terminate_io()drivers/infiniband/ulp/srp/ib_srp.c+17 -54 replies
9/13IB/srp: Use SRP transport layer error recoverydrivers/infiniband/ulp/srp/ib_srp.c drivers/infiniband/ulp/srp/ib_srp.h+88 -360 replies
10/13IB/srp: Start timers if a transport layer error occursdrivers/infiniband/ulp/srp/ib_srp.c drivers/infiniband/ulp/srp/ib_srp.h+20 -00 replies
11/13IB/srp: Make HCA completion vector configurableDocumentation/ABI/stable/sysfs-driver-ib_srp drivers/infiniband/ulp/srp/ib_srp.c drivers/infiniband/ulp/srp/ib_srp.h+32 -29 replies
12/13IB/srp: Make transport layer retry count configurableDocumentation/ABI/stable/sysfs-driver-ib_srp drivers/infiniband/ulp/srp/ib_srp.c drivers/infiniband/ulp/srp/ib_srp.h+26 -11 reply
13/13IB/srp: Bump driver version and release datedrivers/infiniband/ulp/srp/ib_srp.c+2 -20 replies

Reviews trailers per patch

10 of 12 patches have a Reviewed-by or Acked-by.

PatchEli CohenSebastian RiemerDavid Dillow
1/13R-b A-b A-b
2/13A-b
3/13A-b A-b
4/13A-b
5/13A-b
7/13
8/13A-b A-b
9/13A-b
10/13A-b
11/13A-b
12/13A-b
13/13

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v3 thread

Cover letter [PATCH v3 0/13] IB SRP initiator patches for kernel 3.11

The purpose of this InfiniBand SRP initiator patch series is as follows:
- Make the SRP initiator driver better suited for use in a H.A. setup. Add fast_io_fail_tmo and dev_loss_tmo parameters. These can be used either to speed up failover or to avoid device removal when e.g. using initiator side mirroring.
- Make the SRP initiator better suited for use on NUMA systems by making the HCA completion vector configurable.

Changes since the v2 of the "IB SRP initiator patches for kernel 3.11" patch series:
- Improved documentation of the newly added sysfs parameters.
- Limit fast_io_fail_tmo to SCSI_DEVICE_BLOCK_MAX_TIMEOUT.
- Simplified the code for parsing values written into sysfs attributes.
- Fixed a potential deadlock in the code added in scsi_transport_srp (invoking cancel_delayed_work() with the rport mutex held for work that needs the rport mutex itself).
- Changed the default retry count back from 2 to 7 since there is not yet agreement about this change.
- Dropped the patch that silences failed SCSI commands and also the patch that fixes a race between srp_queuecommand() and srp_claim_req() since there is no agreement about these patches.

Changes since the v1 of the "IB SRP initiator patches for kernel 3.11" patch series:
- scsi_transport_srp: Allowed both fast_io_fail and dev_loss timeouts to be disabled.
- scsi_transport_srp, srp_reconnect_rport(): switched from scsi_block_requests() to scsi_target_block() for blocking SCSI command processing temporarily.
- scsi_transport_srp, srp_start_tl_fail_timers(): only block SCSI device command processing if the fast_io_fail timer is enabled.
- Changed srp_abort() such that upon transport offline the value FAST_IO_FAIL is returned instead of SUCCESS.
- Fixed a race condition in the "maintain single connection" patch: a new login after removal had started but before removal had finished still could create a duplicate connection. Fixed this by deferring removal from the target list until removal has finished.
- Modified the error message in the same patch for reporting that a duplicate connection has been rejected.
- Modified patch 2/15 such that all possible race conditions with srp_claim_req() are addressed.
- Documented the comp_vector and tl_retry_count login string parameters.
- Updated dev_loss_tmo and fast_io_fail_tmo documentation - mentioned "off" is a valid choice.

Changes compared to v5 of the "Make ib_srp better suited for H.A. purposes" patch series:
- Left out patches that are already upstream.
- Made it possible to set dev_loss_tmo to "off". This is useful in a
setup using initiator side mirroring to avoid that new /dev/sd* names
are reassigned after a failover or cable pull and reinsert.
- Added kernel module parameters to ib_srp for configuring default
values of the fast_io_fail_tmo and dev_loss_tmo parameters.
- Added a patch from Dotan Barak that fixes a kernel oops during rmmod triggered by resource allocation failure at module load time.
- Avoid duplicate connections by refusing relogins instead of dropping duplicate connections, as proposed by Sebastian Riemer.
- Added a patch from Sebastian Riemer for failing SCSI commands
silently.
- Added a patch from Vu Pham to make the transport layer (IB RC) retry count configurable.
- Made HCA completion vector configurable.

Changes since v4:
- Added a patch for removing SCSI devices upon a port down event

Changes since v3:
- Restored the dev_loss_tmo and fast_io_fail_tmo sysfs attributes.
- Included a patch to fix an ib_srp crash that could be triggered by cable pulling.

Changes since v2:
- Addressed the v2 review comments.
- Dropped the patches that have already been merged.
- Dropped the patches for integration with multipathd.
- Dropped the micro-optimization of the IB completion handlers.

The individual patches in this series are as follows:
0001-IB-srp-Fix-remove_one-crash-due-to-resource-exhausti.patch 0002-IB-srp-Fix-race-between-srp_queuecommand-and-srp_cla.patch 0003-IB-srp-Avoid-that-srp_reset_host-is-skipped-after-a-.patch 0004-IB-srp-Fail-I-O-fast-if-target-offline.patch 0005-IB-srp-Skip-host-settle-delay.patch 0006-IB-srp-Maintain-a-single-connection-per-I_T-nexus.patch 0007-IB-srp-Keep-rport-as-long-as-the-IB-transport-layer.patch 0008-scsi_transport_srp-Add-transport-layer-error-handlin.patch 0009-IB-srp-Add-srp_terminate_io.patch 0010-IB-srp-Use-SRP-transport-layer-error-recovery.patch 0011-IB-srp-Start-timers-if-a-transport-layer-error-occur.patch 0012-IB-srp-Fail-SCSI-commands-silently.patch 0013-IB-srp-Make-HCA-completion-vector-configurable.patch 0014-IB-srp-Make-transport-layer-retry-count-configurable.patch 0015-IB-srp-Bump-driver-version-and-release-date.patch
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html