Fixed Issues
The following issues have been fixed in this update.
-
Improvements to robust recovery of RDS over TCP sockets
Reliable Datagram Sockets (RDS) that use TCP as an underlying carrier protocol previously lacked the ability to recover state in the instance where the TCP connection was reset. This issue is patched to improve the robustness of RDS over TCP.
-
Improvements to facilitate Infiniband transport flow control for RDS
Several patches have been applied to fix and improve RDS flow control when using Infiniband transport. Previously, Infiniband flow control was always disabled and the
rds_ib_sysctl_flow_control
flag was ignored. -
NFS over RDMA on IPv6 support fixed
Fixes were applied to resolve an issue that was causing NFS over RDMA on IPv6 to fail due to an inability to handle the
rdma6
identifier used as the netid for this protocol configuration. -
NFS over RDMA client mount point hang during cluster failover fixed
A fix was applied to resolve an issue that was causing NFS over RDMA to hang for a client mount point when a clustered server fails over.
-
Backported fix for OCFS2 cluster nodes self-fencing when storage is unavailable
A patch that fixed an issue where OCFS2 fences nodes when the disk-heartbeat timeout issue was reached has been applied to allow nodes to take a quorum vote when the heartbeat timeout is reached. If the node can see all other nodes, and the storage is not accessble from all nodes, then the disk-heartbeat timeout is reset by a calculated amount.
-
API compatibility issue resolved for Mellanox OFED libraries
Several library packages have been updated to add support for the XRC (eXtended Reliable Connected) API to resolve a compatibility issue with the Mellanox OFED libraries.
-
Server reboot issue triggered by large writes on an ISCSI LUN is fixed
A server reboot issue triggered by a write of over 100 MB on an ISCSI LUN has been fixed. This issue resulted in an error similar to the following:iscsid: Kernel reported iSCSI connection 3:0 error (1010 - ISCSI_ERR_BAD_ITT: Received invalid initiator task tag from target) state (3)
-
Kernel panic at
__blk_bios_map_sg()
resolvedA bug which resulted in a kernel panic at
__blk_bios_map_sg()
has been resolved. This issue seemed to result when a cloned request was retried on other queues without checking the queue limits of the queue. This sometimes resulted in calculations fornr_phys_segments
to be wrong leading to a crash inscsi_init_sgtable()
. A fix has been applied to always check queue limits for cloned requests. -
ENOBUF error and RDS socket data sending hang resolved
An issue that resulted in and ENOBUF error and caused send timeouts on RDS sockets has been resolved. The issue was identified as resulting from confusion during an RDS congestion bitmap update where a race condition occurred if multiple threads running on different CPUs updated the same set of 64 bits that map to 64 different ports. The operation was made atomic to fix the CPU cache issue that resulted.
-
Vendor ID update to correctly identify newer QLogic NX2 HBAs
Patches were applied to the iscsi-initiator-utils to correctly identify QLogic NX2 HBAs.
-
IPoIB send hang resulting from concurrent access to
tx_outstanding
fixedAn issue that caused IPoIB send hangs to occur as a result of concurrent writes to
tx_outstanding
. The value oftx_outstanding
is used to determine the stop/open on the IPoIB interface send queue. If the value oftx_outstanding
is incorrect, IPoIB send can hang. The fix required that access totx_outstanding
is serialized. -
ext4
patch applied to fix preallocated space after truncationA bug which caused an
ext4
filesystem to report the incorrect preallocated space size after an operation to truncate up pasti_size
has been fixed. The patch prevents the trimming offallocated
blocks that are beyond the newi_size
and that are flagged with the KEEP_SIZE flag. Thetruncate
code was reworked to make it easier to handle and to ensure thati_disksize
is properly set when truncating up.