Hi Neil, Got it, thank you for the patch. Best Regards Johnson > -----Original Message----- > From: NeilBrown [mailto:neilb@xxxxxxx] > Sent: Wednesday, October 24, 2012 10:11 AM > To: Johnson Yan > Cc: 'Jack Wang'; linux-raid@xxxxxxxxxxxxxxx > Subject: Re: RAID0 DeviceDisappeared event happen when restart mdmonitor > service > > On Mon, 17 Sep 2012 11:23:40 +0800 "Johnson Yan" > <johnson_yan@xxxxxxxxx> > wrote: > > > Hi Neil, > > Thank you for the clarification. > > I can remove the RAID0 MD's information from /etc/mdadm.conf to omit the > monitor for RAID0, then so such event occurred when restart mdmonitor > service, but the system won't re-assemble these RAID0 MD after every system > reboot. > > Do you have any good advice? > > I do now... > I've just committed the following patch which should suppress the message. > It will be in mdadm-3.2.6 to be released soon. > > NeilBrown > > > > > > From f1661bd71bec6a8ae1919dc32a227c6fb37843f2 Mon Sep 17 00:00:00 > 2001 > From: NeilBrown <neilb@xxxxxxx> > Date: Wed, 24 Oct 2012 13:09:09 +1100 > Subject: [PATCH] Monitor: don't complain about non-monitorable arrays in > mdadm.conf > > 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@xxxxxxxxx> > Signed-off-by: NeilBrown <neilb@xxxxxxx> > > diff --git a/Monitor.c b/Monitor.c > index 69cd8e0..c4d57c3 100644 > --- a/Monitor.c > +++ b/Monitor.c > @@ -37,6 +37,7 @@ struct state { > 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]; > @@ -178,6 +179,7 @@ int Monitor(struct mddev_dev *devlist, > 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); @@ > -475,7 +477,7 @@ static int check_array(struct state *st, struct mdstat_ent > *mdstat, > * 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); > -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html