diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-07-14 14:59:39 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2008-07-14 14:59:39 -0700 |
commit | 0a6bdbee8d9be67f1d72d26d9a43cdc2834d8c54 (patch) | |
tree | e5fa1a31d46cdca14755d5fa8d443af2e14cf0d5 | |
parent | 272bcc48d18b6f8dd89f3181b166e1fabfbd5b7b (diff) | |
download | mdadm-0a6bdbee8d9be67f1d72d26d9a43cdc2834d8c54.tar.gz mdadm-0a6bdbee8d9be67f1d72d26d9a43cdc2834d8c54.tar.xz mdadm-0a6bdbee8d9be67f1d72d26d9a43cdc2834d8c54.zip |
mdmon: notify metadata of recovery completion
Array may no longer be degraded.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
-rw-r--r-- | monitor.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -265,12 +265,16 @@ static int read_and_act(struct active_array *a) if (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 + */ for (mdi = a->info.devs ; mdi ; mdi = mdi->next) { a->container->ss->set_disk(a, mdi->disk.raid_disk, mdi->curr_state); if (! (mdi->curr_state & DS_INSYNC)) check_degraded = 1; } + a->container->ss->set_array_state(a, 0); } for (mdi = a->info.devs ; mdi ; mdi = mdi->next) { |