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() resolved

    A 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 for nr_phys_segments to be wrong leading to a crash in scsi_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 fixed

    An issue that caused IPoIB send hangs to occur as a result of concurrent writes to tx_outstanding. The value of tx_outstanding is used to determine the stop/open on the IPoIB interface send queue. If the value of tx_outstanding is incorrect, IPoIB send can hang. The fix required that access to tx_outstanding is serialized.

  • ext4 patch applied to fix preallocated space after truncation

    A bug which caused an ext4 filesystem to report the incorrect preallocated space size after an operation to truncate up past i_size has been fixed. The patch prevents the trimming of fallocated blocks that are beyond the new i_size and that are flagged with the KEEP_SIZE flag. The truncate code was reworked to make it easier to handle and to ensure that i_disksize is properly set when truncating up.