Monitor: Report NewArray when an array the disappeared, reappears.

Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2012-06-04 12:52:36 +10:00
parent 9dad51d418
commit 0f760384eb
1 changed files with 7 additions and 2 deletions

View File

@ -513,6 +513,13 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat,
* just make sure it is always different. */ * just make sure it is always different. */
array.utime = st->utime + 1;; array.utime = st->utime + 1;;
if (st->err) {
/* New array appeared where previously had and error */
st->err = 0;
st->percent = RESYNC_NONE;
alert("NewArray", st->devname, NULL, ainfo);
}
if (st->utime == array.utime && if (st->utime == array.utime &&
st->failed == array.failed_disks && st->failed == array.failed_disks &&
st->working == array.working_disks && st->working == array.working_disks &&
@ -521,7 +528,6 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat,
mse->percent == st->percent mse->percent == st->percent
))) { ))) {
close(fd); close(fd);
st->err = 0;
if ((st->active < st->raid) && st->spare == 0) if ((st->active < st->raid) && st->spare == 0)
return 1; return 1;
else else
@ -714,7 +720,6 @@ static int add_new_arrays(struct mdstat_ent *mdstat, struct state **statelist,
*statelist = st; *statelist = st;
if (test) if (test)
alert("TestMessage", st->devname, NULL, info); alert("TestMessage", st->devname, NULL, info);
alert("NewArray", st->devname, NULL, info);
new_found = 1; new_found = 1;
} }
return new_found; return new_found;