25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike s11u3-sru
authorshruthi.rr@oracle.com <shruthi.rr@oracle.com>
Sun, 16 Apr 2017 23:02:27 -0700
branchs11u3-sru
changeset 7874 97b612ab3f39
parent 7873 7e3686e70bb8
child 7888 eb95548e9e3c
25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
components/open-fabrics/libibmad/patches/004-libibmad-ignore_status_no_records_for_rmpp.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/open-fabrics/libibmad/patches/004-libibmad-ignore_status_no_records_for_rmpp.patch	Sun Apr 16 23:02:27 2017 -0700
@@ -0,0 +1,32 @@
+# This patch was developed both in-house and from outside. We plan to submit it
+# upstream, but do not yet have a target date for doing so
+#
+# HG changeset patch
+# Parent  843ca3437b9195b6288f704dac8da953589aab51
+25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike
+
+diff -r 843ca3437b91 src/rpc.c
+--- a/src/rpc.c	Mon Feb 13 10:57:32 2017 -0800
++++ b/src/rpc.c	Mon Feb 13 11:07:47 2017 -0800
+@@ -310,10 +310,18 @@
+ 
+ 	mad = umad_get_mad(rcvbuf);
+ 
++
++#define LIBIBMAD_SA_MAD_STATUS_NO_RECORDS 0x0300U
+ 	if ((status = mad_get_field(mad, 0, IB_MAD_STATUS_F)) != 0) {
+-		ERRS("MAD completed with error status 0x%x; dport (%s)",
+-		     status, portid2str(dport));
+-		errno = EIO;
++		if (!rmpp &&
++		    status == (int)LIBIBMAD_SA_MAD_STATUS_NO_RECORDS) {
++			IBWARN("MAD completed with error status NO_RECORDS - skip setting errno; dport (%s)",
++			     portid2str(dport));
++		} else {
++			ERRS("MAD completed with error status 0x%x; dport (%s)",
++			     status, portid2str(dport));
++			errno = EIO;
++		}
+ 		return NULL;
+ 	}
+