summaryrefslogtreecommitdiffstats
path: root/managemon.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2008-09-15 20:58:43 -0700
committerDan Williams <dan.j.williams@intel.com>2008-09-15 20:58:43 -0700
commit93f7cacab36cfe61e8e6360f33c36391856b9d17 (patch)
tree9ac32a95ec1a5cfd6a25f103b7d5d7aa1f08a4b3 /managemon.c
parente553d2a45890e7341612a0f670d3ff00a2986678 (diff)
downloadmdadm-93f7cacab36cfe61e8e6360f33c36391856b9d17.tar.gz
mdadm-93f7cacab36cfe61e8e6360f33c36391856b9d17.tar.xz
mdadm-93f7cacab36cfe61e8e6360f33c36391856b9d17.zip
mdmon: resume rebuild
If we started a degraded array that was previously rebuilding we may have enough information to resume the rebuild without a trip through the monitor. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'managemon.c')
-rw-r--r--managemon.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/managemon.c b/managemon.c
index 15e431f..fc34d77 100644
--- a/managemon.c
+++ b/managemon.c
@@ -475,8 +475,13 @@ static void manage_new(struct mdstat_ent *mdstat,
mdstat->metadata_version);
new->container = NULL;
free_aa(new);
- } else
+ } else {
replace_array(container, victim, new);
+ if (failed) {
+ new->check_degraded = 1;
+ manage_member(mdstat, new);
+ }
+ }
}
void manage(struct mdstat_ent *mdstat, struct supertype *container)