components/open-fabrics/libibmad/patches/004-libibmad-ignore_status_no_records_for_rmpp.patch
author shruthi.rr@oracle.com <shruthi.rr@oracle.com>
Sun, 16 Apr 2017 23:02:27 -0700
branchs11u3-sru
changeset 7874 97b612ab3f39
permissions -rw-r--r--
25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
7874
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
     1
# This patch was developed both in-house and from outside. We plan to submit it
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
     2
# upstream, but do not yet have a target date for doing so
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
     3
#
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
     4
# HG changeset patch
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
     5
# Parent  843ca3437b9195b6288f704dac8da953589aab51
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
     6
25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
     7
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
     8
diff -r 843ca3437b91 src/rpc.c
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
     9
--- a/src/rpc.c	Mon Feb 13 10:57:32 2017 -0800
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    10
+++ b/src/rpc.c	Mon Feb 13 11:07:47 2017 -0800
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    11
@@ -310,10 +310,18 @@
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    12
 
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    13
 	mad = umad_get_mad(rcvbuf);
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    14
 
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    15
+
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    16
+#define LIBIBMAD_SA_MAD_STATUS_NO_RECORDS 0x0300U
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    17
 	if ((status = mad_get_field(mad, 0, IB_MAD_STATUS_F)) != 0) {
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    18
-		ERRS("MAD completed with error status 0x%x; dport (%s)",
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    19
-		     status, portid2str(dport));
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    20
-		errno = EIO;
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    21
+		if (!rmpp &&
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    22
+		    status == (int)LIBIBMAD_SA_MAD_STATUS_NO_RECORDS) {
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    23
+			IBWARN("MAD completed with error status NO_RECORDS - skip setting errno; dport (%s)",
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    24
+			     portid2str(dport));
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    25
+		} else {
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    26
+			ERRS("MAD completed with error status 0x%x; dport (%s)",
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    27
+			     status, portid2str(dport));
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    28
+			errno = EIO;
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    29
+		}
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    30
 		return NULL;
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    31
 	}
97b612ab3f39 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
shruthi.rr@oracle.com <shruthi.rr@oracle.com>
parents:
diff changeset
    32