[ewg] [PATCH] infiniband-diags/ibcheckerrors: fix port errors count
Sasha Khapyorsky
sashak at voltaire.com
Wed Dec 12 15:46:17 PST 2007
This fixes port error counter (pcnterr) update. Also removes unsued
variables.
Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
---
infiniband-diags/scripts/ibcheckerrors.in | 18 +++++++-----------
1 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/infiniband-diags/scripts/ibcheckerrors.in b/infiniband-diags/scripts/ibcheckerrors.in
index 5cfabc6..a45bd63 100644
--- a/infiniband-diags/scripts/ibcheckerrors.in
+++ b/infiniband-diags/scripts/ibcheckerrors.in
@@ -21,7 +21,6 @@ brief=""
v=0
ntype=""
nodeguid=""
-oldlid=""
topofile=""
ca_info=""
@@ -81,14 +80,14 @@ BEGIN {
}
function check_node(lid, port)
{
- nodechecked=1
if (system("'$IBPATH'/ibchecknode '"$ca_info"' '$gflags' '$verbose' " lid)) {
ne++
print "\n# " ntype ": nodeguid 0x" nodeguid " failed"
- return
+ return 1;
}
if (system("'$IBPATH'/ibcheckerrs '"$ca_info"' '$gflags' '$verbose' '$brief' " lid " " port))
- nodeerr=1;
+ return 2;
+ return 0;
}
/^Ca/ || /^Switch/ || /^Rt/ {
@@ -97,15 +96,13 @@ function check_node(lid, port)
if ('$v')
print "\n# Checking " ntype ": nodeguid 0x" nodeguid
- nodechecked=0
- nodeerr=0
- badnode=0
+ err = 0;
if (ntype != "Switch")
next
lid = substr($0, index($0, "port 0 lid ") + 11)
lid = substr(lid, 1, index(lid, " ") - 1)
- check_node(lid, 255)
+ err = check_node(lid, 255)
}
/^\[/ {
nports++
@@ -115,10 +112,9 @@ function check_node(lid, port)
if (ntype != "Switch") {
lid = substr($0, index($0, " lid ") + 5)
lid = substr(lid, 1, index(lid, " ") - 1)
- check_node(lid, port)
- if (nodeerr)
+ if (check_node(lid, port) == 2)
pcnterr++;
- } else if (nodeerr &&
+ } else if (err &&
system("'$IBPATH'/ibcheckerrs '"$ca_info"' '$gflags' '$verbose' '$brief' " lid " " port))
pcnterr++;
}
--
1.5.3.4.206.g58ba4
More information about the ewg
mailing list