summaryrefslogtreecommitdiffstats
path: root/monitor.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2008-07-14 14:59:39 -0700
committerDan Williams <dan.j.williams@intel.com>2008-07-14 14:59:39 -0700
commit00e021427e78b8eefad5b4521fd6f27c59ebe968 (patch)
treef6054a81a55224203612f983b7c0bca8fc135616 /monitor.c
parent0a6bdbee8d9be67f1d72d26d9a43cdc2834d8c54 (diff)
downloadmdadm-00e021427e78b8eefad5b4521fd6f27c59ebe968.tar.gz
mdadm-00e021427e78b8eefad5b4521fd6f27c59ebe968.tar.xz
mdadm-00e021427e78b8eefad5b4521fd6f27c59ebe968.zip
mdmon: close possibility of re-marking the metadata dirty on shutdown
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'monitor.c')
-rw-r--r--monitor.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/monitor.c b/monitor.c
index 955b53f..d6b1fbe 100644
--- a/monitor.c
+++ b/monitor.c
@@ -251,7 +251,8 @@ static int read_and_act(struct active_array *a)
}
}
- if (a->curr_action == idle &&
+ if (!deactivate &&
+ a->curr_action == idle &&
a->prev_action == resync) {
/* A resync has finished. The endpoint is recorded in
* 'sync_start'. We don't update the metadata
@@ -263,7 +264,8 @@ static int read_and_act(struct active_array *a)
check_degraded = 1;
}
- if (a->curr_action == idle &&
+ if (!deactivate &&
+ a->curr_action == idle &&
a->prev_action == recover) {
/* A recovery has finished. Some disks may be in sync now,
* and the array may no longer be degraded