Monitor: avoid skipping checks on external arrays

utime is not correct for external metadata so we must
not risk the observed time ever matching the old time.

Reported-by: Anna Czarnowska <anna.czarnowska@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
NeilBrown 2010-11-22 20:58:06 +11:00
parent edde9560fa
commit b1717f0afc
1 changed files with 3 additions and 2 deletions

View File

@ -320,8 +320,9 @@ int Monitor(struct mddev_dev *devlist,
}
/* this array is in /proc/mdstat */
if (array.utime == 0)
/* external arrays don't update utime */
array.utime = time(0);
/* external arrays don't update utime, so
* just make sure it is always different. */
array.utime = st->utime + 1;;
if (st->utime == array.utime &&
st->failed == array.failed_disks &&