linux-uconsole/drivers/infiniband/ulp/iser
Or Gerlitz 7ecc5d44a8 IB/iser: Rewrite SG handling for RDMA logic
commit c1ccaf2478 upstream.

After dma-mapping an SG list provided by the SCSI midlayer, iser has
to make sure the mapped SG is "aligned for RDMA" in the sense that its
possible to produce one mapping in the HCA IOMMU which represents the
whole SG. Next, the mapped SG is formatted for registration with the HCA.

This patch re-writes the logic that does the above, to make it clearer
and simpler. It also fixes a bug in the being aligned for RDMA checks,
where a "start" check wasn't done but rather only "end" check.

[commit message in RH kernel tree: "Under heavy load, without the patch,
the HCA can be programmed to write (corrupt) into pages/location which
doesn't belong to the SG associated with the actual I/O and cause a
kernel oops."]

Signed-off-by: Alexander Nezhinsky <alexandern@voltaire.com>
Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Cc: maximilian attems <max@stro.at>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2010-04-26 07:41:36 -07:00
..
iscsi_iser.c [SCSI] libiscsi: iscsi_session_setup to allow for private space 2009-10-02 14:01:39 -05:00
iscsi_iser.h [SCSI] libiscsi: don't cap queue depth in iscsi modules 2009-03-13 15:28:06 -05:00
iser_initiator.c [SCSI] iscsi lib: have lib create work queue for transmitting IO 2009-03-13 15:28:37 -05:00
iser_memory.c IB/iser: Rewrite SG handling for RDMA logic 2010-04-26 07:41:36 -07:00
iser_verbs.c IB/iser: Remove hard setting of path MTU 2009-02-27 10:30:46 -08:00
Kconfig IB/iser: Add dependency on INFINIBAND_ADDR_TRANS 2009-01-12 19:30:41 -08:00
Makefile IB/iser: iSER Kconfig and Makefile 2006-06-22 07:51:14 -07:00