blob: 62029ebecb2bea5c43b37ee759f7d1263a6a3504 [file] [log] [blame]
Next release
------------
Changes compared to version 2.2.0:
- Made sure that the SCST session is unregistered after an initiator logs out.
Due to a race condition sometimes the SCST session was not unregistered.
- Fixed a QP use-after-free triggered by SRP logout. This could cause the
following error messages to appear:
ib_srpt: ***ERROR***: srpt_init_ch_qp() failed (-9)
ib_srpt: ***ERROR***: rejected SRP_LOGIN_REQ because creating a new RDMA
channel failed.
- Disallowed new logins during module removal.
Version 2.2.0 (January 26, 2012)
-------------
Changes compared to version 2.1.0:
- Changed default value of the kernel module parameter srp_max_req_size from
2116 into 4148. That last value corresponds to a table size of 255 elements.
- "make debug2release" etc. now also affects ib_srpt.
- Removed "thread" kernel module parameter.
- Slightly reduced the number of IB interrupts caused by SRP traffic.
- Fixed a bug that could cause valid logins to be rejected. The message that
is logged in the system log if this happens is:
ib_srpt: ***ERROR***: rejected SRP_LOGIN_REQ because creating a new RDMA
channel failed
- Fixed a bug that could cause unloading ib_srpt during I/O to take up to 120s.
- Fixed a crash in the I/O context ring allocation that was triggered when
trying to allocate more memory than available.
- Fixed a bug that caused SRQ creation to fail when using a QLogic HCA (qib driver)
and Linux kernel version 3.2 or later.
- Builds again on 32-bit systems.
Version 2.1.0 (September 8, 2011)
-------------
Corresponds to r3848 on the 2.1.0.x branch
Changes compared to version 2.0.0:
- Added support for using the HCA node GUID as the SCST target port name
instead of ib_srpt_target_<n>.
- Fixed a bug that could cause removing ib_srpt during I/O to hang.
- Increased maximum RDMA completion time from 60s to 80s such that disconnecting
an IB cable during I/O doesn't trigger complaints about IB completions that
arrived too late.
- Avoided that failed multipart RDMA transfers (e.g. due to disconnecting an IB
cable) cause trouble.
Known bugs:
- Doesn't build on 32-bit systems.
Version 2.0.0 (December 21, 2010)
-------------
Changes compared to version 1.0.0:
- Significantly improved performance by converting the per-channel I/O context
ring into separate receive and transmit rings.
- Fixed a bug that could cause a task management request to cause SRP credits
to be lost.
- Fixed SCSI residual handling.
Version 1.0.1 (April 28, 2009)
-------------
Changes compared to version 1.0.0:
- Performance has been improved. I/O requests are now handled in soft IRQ
context instead of on a separate thread, which drastically reduces the
number of context switches needed for processing I/O (r594).
- Added support for building SCST-SRPT against the OFED InfiniBand drivers
(r814:838).
- Compiles now without further patches on RHEL 5.x / CentOS 5.x systems (r638).
- Compiles now against 2.6.26 and later kernels (r516).
- Fixed incorrect SCST state used on error path (r557).
- Fixed memory leak triggered by rejecting SRP login requests (r800).
- Fixed kernel oops triggered by reception of an asynchronous InfiniBand event.
Asynchronous events are triggered by e.g. resetting an InfiniBand switch or
reconnecting an InfiniBand cable (r878:880). The call stack of the oops is
as follows:
queue_work+0x1a/0x20
schedule_work+0x16/0x20
srpt_event_handler+0xda/0xe0 [ib_srpt]
ib_dispatch_event+0x39/0x70 [ib_core]
mlx4_ib_process_mad+0x3e6/0x430 [mlx4_ib]
ib_post_send_mad+0x374/0x6f0 [ib_mad]
? futex_wake+0x105/0x120
ib_umad_write+0x4a8/0x5c0 [ib_umad]
vfs_write+0xcb/0x170
sys_write+0x50/0x90
system_call_fastpath+0x16/0x1b
- The login information for HCA's with more than two ports is now displayed
correctly. Note: no such devices exist yet (r799).
Version 1.0.0 (released on July 14, 2008)
-------------
Almost identical to trunk r440 (only the variables SCST_DIR and EXTRA_CFLAGS
in the Makefiles are different from trunk r440).