Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 22 additions & 2 deletions checks/md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,21 @@
# unused devices: <none>
# ----------------------------------------------------------

# Example of RAID5 being checked
#Personalities : [raid1] [raid6] [raid5] [raid4]
#md125 : active raid1 sdb2[0] sdd2[1]
# 182751552 blocks super 1.2 [2/2] [UU]
# bitmap: 1/2 pages [4KB], 65536KB chunk
#
#md126 : active raid5 sdf1[5] sde1[2] sdc1[1] sdg1[3] sda1[0]
# 31255568384 blocks super 1.2 level 5, 512k chunk, algorithm 2 [5/5] [UUUUU]
# [===============>.....] check = 76.0% (5938607824/7813892096) finish=255.8min speed=122145K/sec
# bitmap: 0/59 pages [0KB], 65536KB chunk
#
#md127 : active raid1 sdd1[1] sdb1[0]
# 67107840 blocks super 1.2 [2/2] [UU]
# bitmap: 1/1 pages [4KB], 65536KB chunk

# And now for something completely different:
# ---------------------------------------------------------
# Personalities : [raid1] [raid10]
Expand Down Expand Up @@ -122,7 +137,7 @@ def parse_md(info):
if e.startswith("finish=") or e.startswith("speed="):
k, v = e.split("=")
instance[k] = v
elif e in ["recovery", "resync"]:
elif e in ["recovery", "resync", "check"]:
instance["%s_values" % e] = line[idx + 3]
continue

Expand Down Expand Up @@ -193,7 +208,12 @@ def check_md(item, _no_params, parsed):
if "speed" in data:
infotexts.append("Speed: %s" % data["speed"])

if infotexts:
if "check_values" in data:
header = "[Check]"
infotexts.append("Status: %s" % data["check_values"])
yield 0, "%s %s" % (header, ", ".join(infotexts))

elif infotexts:
yield 1, "%s %s" % (header, ", ".join(infotexts))


Expand Down