summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2021-06-27 21:25:00 +0200
committerErich Eckner <git@eckner.net>2021-06-27 21:25:00 +0200
commit717ac245adee89e9bb5056199b2a26685bf0eefd (patch)
tree7b9c19d6de1dde9c93cfead747aa600c7a0ed315
parent7f0c928bca7d16d2b6a5e052d6f66422c64c0177 (diff)
downloadprint-status-717ac245adee89e9bb5056199b2a26685bf0eefd.tar.xz
print-status-html: do not print non-redundant raid for mismatch_cnt at all
-rwxr-xr-xprint-status-html28
1 files changed, 10 insertions, 18 deletions
diff --git a/print-status-html b/print-status-html
index a1bc5eb..de497da 100755
--- a/print-status-html
+++ b/print-status-html
@@ -98,24 +98,16 @@ EOF
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
+ find /sys/block/ \
+ -mindepth 1 \
+ -maxdepth 1 \
+ -name 'md*' \
+ -exec sh -c 'test -f "{}/md/mismatch_cnt"' \; \
+ -printf '%f: ' \
+ -exec cat '{}/md/mismatch_cnt' \; \
+ | sed 's@^md\([0-9]\+\): @\1 \0@' \
+ | sort -k1n,1 \
+ | sed 's@^\S\+ @@'
} \
| sed '
s/$/<br>/