RE: RAID0 DeviceDisappeared event happen when restart mdmonitor service

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux