If we are asked to monitor a RAID0 or Linear - which cannot be
monitored - we complain with "Device Disappeared .... Wrong-Level".
However if the RAID0 or Linear is being requested because it is
in mdadm.conf then the message is inappropriate and confusing.
So track which arrays are added from the config file, and suppress
that message in that case.
Reported-by: "Johnson Yan" <johnson_yan@usish.com>
Signed-off-by: NeilBrown <neilb@suse.de>
int err;
char *spare_group;
int active, working, failed, spare, raid;
+ int from_config;
int expected_spares;
int devstate[MAX_DISKS];
dev_t devid[MAX_DISKS];
st->next = statelist;
st->devnum = INT_MAX;
st->percent = RESYNC_UNKNOWN;
+ st->from_config = 1;
st->expected_spares = mdlist->spare_disks;
if (mdlist->spare_group)
st->spare_group = xstrdup(mdlist->spare_group);
* have a device disappear than all of them that can
*/
if (array.level == 0 || array.level == -1) {
- if (!st->err)
+ if (!st->err && !st->from_config)
alert("DeviceDisappeared", dev, "Wrong-Level", ainfo);
st->err = 1;
close(fd);