summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-06-02 14:24:58 +1000
committerNeilBrown <neilb@suse.de>2009-06-02 14:24:58 +1000
commit4736b5dc7740ff38064c33b2460c1ee5c9aafa82 (patch)
treeaf98ac0e4527f19118f82a05c5c24cfc501b0b25
parente0fe762a63889495695b773ad63d329a526fa4ed (diff)
downloadmdadm-4736b5dc7740ff38064c33b2460c1ee5c9aafa82.tar.gz
mdadm-4736b5dc7740ff38064c33b2460c1ee5c9aafa82.tar.xz
mdadm-4736b5dc7740ff38064c33b2460c1ee5c9aafa82.zip
Monitor: don't get confused if utime is never set.
externally managed arrays do not (currently) cause utime in GET_ARRAY_INFO to be updated. So if it is zero, just assume the current time. This will cause GET_DISK_INFO to be called more often, but as we do the scan only every 60 seconds normally, a few extra syscalls isn't going to make a big difference. Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--Monitor.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Monitor.c b/Monitor.c
index e43175f..92aaf65 100644
--- a/Monitor.c
+++ b/Monitor.c
@@ -284,6 +284,10 @@ int Monitor(mddev_dev_t devlist,
mse = mse2;
}
+ if (array.utime == 0)
+ /* external arrays don't update utime */
+ array.utime = time(0);
+
if (st->utime == array.utime &&
st->failed == array.failed_disks &&
st->working == array.working_disks &&