diff options
author | NeilBrown <neilb@suse.de> | 2009-10-22 11:13:13 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-10-22 11:13:13 +1100 |
commit | 4a997737a14f580e3addfa1db6be005c37e7c0f4 (patch) | |
tree | 2bb5c80319e81728d54822d5b930098746c07057 /Monitor.c | |
parent | 9739642288555dae607ee4aa0eec0e9245cecf74 (diff) | |
parent | 0eb26465c0a14d707ca00f4f7bcdb67bde36f706 (diff) | |
download | mdadm-4a997737a14f580e3addfa1db6be005c37e7c0f4.tar.gz mdadm-4a997737a14f580e3addfa1db6be005c37e7c0f4.tar.xz mdadm-4a997737a14f580e3addfa1db6be005c37e7c0f4.zip |
Merge branch 'master' into devel-3.1
Diffstat (limited to 'Monitor.c')
-rw-r--r-- | Monitor.c | 26 |
1 files changed, 13 insertions, 13 deletions
@@ -33,14 +33,6 @@ static void alert(char *event, char *dev, char *disc, char *mailaddr, char *mailfrom, char *cmd, int dosyslog); -static char *percentalerts[] = { - "RebuildStarted", - "Rebuild20", - "Rebuild40", - "Rebuild60", - "Rebuild80", -}; - /* The largest number of disks current arrays can manage is 384 * This really should be dynamically, but that will have to wait * At least it isn't MD_SB_DISKS. @@ -49,7 +41,7 @@ static char *percentalerts[] = { int Monitor(mddev_dev_t devlist, char *mailaddr, char *alert_cmd, int period, int daemonise, int scan, int oneshot, - int dosyslog, int test, char* pidfile) + int dosyslog, int test, char* pidfile, int increments) { /* * Every few seconds, scan every md device looking for changes @@ -77,8 +69,8 @@ int Monitor(mddev_dev_t devlist, * An active device had a reverse transition * RebuildStarted * percent went from -1 to +ve - * Rebuild20 Rebuild40 Rebuild60 Rebuild80 - * percent went from below to not-below that number + * RebuildNN + * percent went from below to not-below NN% * DeviceDisappeared * Couldn't access a device which was previously visible * @@ -311,9 +303,17 @@ int Monitor(mddev_dev_t devlist, if (mse && st->percent >= 0 && mse->percent >= 0 && - (mse->percent / 20) > (st->percent / 20)) - alert(percentalerts[mse->percent/20], + (mse->percent / increments) > (st->percent / increments)) { + char percentalert[15]; // "RebuildNN" (10 chars) or "RebuildStarted" (15 chars) + + if((mse->percent / increments) == 0) + snprintf(percentalert, sizeof(percentalert), "RebuildStarted"); + else + snprintf(percentalert, sizeof(percentalert), "Rebuild%02d", mse->percent); + + alert(percentalert, dev, NULL, mailaddr, mailfrom, alert_cmd, dosyslog); + } if (mse && mse->percent == -1 && |