From 5eac94bffd3b98c585eecfbf3fbf444362573142 Mon Sep 17 00:00:00 2001 From: Johnny Stenback Date: Tue, 3 Jan 2017 10:29:23 -0800 Subject: [PATCH] Fix TypeError: unorderable types: str() > int() in arc_summary.py Running arc_summary.py with a l2arc cache device around produces the following error: Traceback (most recent call last): File "/usr/bin/arc_summary.py", line 1148, in main() File "/usr/bin/arc_summary.py", line 1144, in main page(Kstat) File "/usr/bin/arc_summary.py", line 724, in _l2arc_summary arc["l2_arc_evicts"]["reading"] > 0: TypeError: unorderable types: str() > int() This is due to arc["l2_arc_evicts"]['lock_retries'] and arc["l2_arc_evicts"]["reading"] both being strings, returned from fHits() earlier. Rather than adding them up and checking if the result is > 0, this checks if either string is != '0'. Reviewed-by: Brian Behlendorf Reviewed-by: Giuseppe Di Natale Closes #5538 --- cmd/arc_summary/arc_summary.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/arc_summary/arc_summary.py b/cmd/arc_summary/arc_summary.py index e7448fa5d835..83918a645eb4 100755 --- a/cmd/arc_summary/arc_summary.py +++ b/cmd/arc_summary/arc_summary.py @@ -705,8 +705,8 @@ def _l2arc_summary(Kstat): ) sys.stdout.write("\n") - if arc["l2_arc_evicts"]['lock_retries'] + \ - arc["l2_arc_evicts"]["reading"] > 0: + if arc["l2_arc_evicts"]['lock_retries'] != '0' or \ + arc["l2_arc_evicts"]["reading"] != '0': sys.stdout.write("L2 ARC Evicts:\n") sys.stdout.write("\tLock Retries:\t\t\t\t%s\n" % arc["l2_arc_evicts"]['lock_retries'])