Monitor: don't report the disappearance of a faulty device as SpareActive.
Normally Monitor doesn't see faulty devices in active slots - they get moved away too quickly. But if it does, it reports the "faulty device disappeared" event (when it finally does get moved away) as SpareActive due to insufficient checking. So add a better check. Reported-by: Pierre Vignéras <pierre@vigneras.name>
This commit is contained in:
parent
c03ef02d92
commit
4460f8f7c3
|
@ -391,6 +391,7 @@ int Monitor(mddev_dev_t devlist,
|
|||
)
|
||||
alert("FailSpare", dev, dv, mailaddr, mailfrom, alert_cmd, dosyslog);
|
||||
else if (i < (unsigned)array.raid_disks &&
|
||||
! (newstate & (1<<MD_DISK_REMOVED)) &&
|
||||
(((st->devstate[i]&change)&(1<<MD_DISK_FAULTY)) ||
|
||||
((newstate&change)&(1<<MD_DISK_ACTIVE)) ||
|
||||
((newstate&change)&(1<<MD_DISK_SYNC)))
|
||||
|
|
Loading…
Reference in New Issue