diff options
author | Erich Eckner <git@eckner.net> | 2021-06-27 09:43:27 +0200 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2021-06-27 09:43:27 +0200 |
commit | d4524b33b6e36db5591f816599554634f8e39348 (patch) | |
tree | 91da1f95670e4ffaf1cb8cdaf689439f4986eb8d | |
parent | 42bb21003618b4620c084871c53e067d58ec0597 (diff) | |
download | print-status-d4524b33b6e36db5591f816599554634f8e39348.tar.xz |
better sorting
-rwxr-xr-x | print-status | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/print-status b/print-status index b128f4b..c2bdf8a 100755 --- a/print-status +++ b/print-status @@ -14,9 +14,25 @@ p } ' /proc/mdstat \ - | sort -u - find /sys/block/ -mindepth 1 -maxdepth 1 -name 'md*' -printf '%f: ' -exec cat {}/md/mismatch_cnt \; \ - | sort -u + | sed 's@^md\([0-9]\+\):@\1 \0@' \ + | sort -k1n,1 \ + | sed 's@^\S\+ @@' + find /sys/block/ -mindepth 1 -maxdepth 1 -name 'md*' -printf '%f\n' \ + | sed 's@^md@@' \ + | sort -n \ + | while read -r md; do + printf 'md%s: %s' \ + "${md}" \ + "$( + tr -d '\n' <"/sys/block/md${md}/md/array_state" + )" + if [ -f "/sys/block/md${md}/md/mismatch_cnt" ]; then + printf ' ' + cat "/sys/block/md${md}/md/mismatch_cnt" + else + printf '\n' + fi + done if command -v ssacli >/dev/null 2>&1; then ssacli ctrl slot=1 ld all show \ | grep -v '^\s*$' |