components/open-fabrics/libibmad/patches/004-libibmad-ignore_status_no_records_for_rmpp.patch
# 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;
}