# HG changeset patch # User shruthi.rr@oracle.com # Date 1492408947 25200 # Node ID 97b612ab3f39aa7d96259589324ed9205b02f16b # Parent 7e3686e70bb881ed594c128984e914604a8065cf 25253258 SUPERCLUSTER : Unexpected reboot of a CELL server causes session spike diff -r 7e3686e70bb8 -r 97b612ab3f39 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; + } +