summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2021-06-27 21:06:36 +0200
committerErich Eckner <git@eckner.net>2021-06-27 21:06:36 +0200
commit8c8b7edbea12abdcbf4a1fcf6f3889fbba5ae7d6 (patch)
tree6116f73d3e4e38857ae9fd4e0409a5d688dcc14b
parent7db7b508214ec239bacc7f2e1fddf4922079520c (diff)
downloadprint-status-8c8b7edbea12abdcbf4a1fcf6f3889fbba5ae7d6.tar.xz
print-status-html: ignore mismatch_cnt for non-redundant raids
-rwxr-xr-xprint-status-html28
1 files changed, 18 insertions, 10 deletions
diff --git a/print-status-html b/print-status-html
index aa4049e..53a033a 100755
--- a/print-status-html
+++ b/print-status-html
@@ -88,16 +88,24 @@ EOF
s,.*,<font color="#800000">\0</font>,
'
- find /sys/block/ -mindepth 1 -maxdepth 1 -name 'md*' -printf '%f: ' -exec cat {}/md/mismatch_cnt \; \
- | sort -u \
- | sed '
- s/$/ mismatches/
- /^\S\+: 0 mismatches$/ {
- s,.*,<font color="#008000">\0</font>,
- b
- }
- s,.*,<font color="#800000">\0</font>,
- '
+ find /sys/block/ -mindepth 1 -maxdepth 1 -name 'md*' -printf '%f\n' \
+ | sed 's@^md@@' \
+ | sort -n \
+ | while read -r md; do
+ if [ -f "/sys/block/md${md}/md/mismatch_cnt" ]; then
+ sed '
+ s/^/md'"${md}"': /
+ s/$/ mismatches/
+ /^\S\+: 0 mismatches$/ {
+ s,.*,<font color="#008000">\0</font>,
+ b
+ }
+ s,.*,<font color="#800000">\0</font>,
+ ' "/sys/block/md${md}/md/mismatch_cnt"
+ else
+ printf 'md%s\n' "${md}"
+ fi
+ done
} \
| sed '
s/$/<br>/