diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-09-15 20:58:42 -0700 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2008-09-15 20:58:42 -0700 |
commit | d797a0621f08c799ca7c21a2b3b8eedaf19fc7aa (patch) | |
tree | 38d6b2f56df7a649056525248df70cc2415a8ca5 /monitor.c | |
parent | 8ed3e5e1bf5b08884b68c3ef5c3e393adaa3c9ba (diff) | |
download | mdadm-d797a0621f08c799ca7c21a2b3b8eedaf19fc7aa.tar.gz mdadm-d797a0621f08c799ca7c21a2b3b8eedaf19fc7aa.tar.xz mdadm-d797a0621f08c799ca7c21a2b3b8eedaf19fc7aa.zip |
monitor: mark clean on active-idle
This also handles the case where 'clean' is set directly.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'monitor.c')
-rw-r--r-- | monitor.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -231,10 +231,14 @@ static int read_and_act(struct active_array *a) a->next_state = active; } if (a->curr_state == active_idle) { - /* Set array to 'clean' FIRST, then - * a->ss->mark_clean(a, ~0ULL); - * just ignore for now. + /* Set array to 'clean' FIRST, then mark clean + * in the metadata */ + a->next_state = clean; + } + if (a->curr_state == clean) { + get_resync_start(a); + a->container->ss->set_array_state(a, 1); } if (a->curr_state == readonly) { |