]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - monitor.c
Add DDF code for activate_spare
[thirdparty/mdadm.git] / monitor.c
index 690afa0800a6353d6fc1170064b4f3857db30966..5a95149027da2f28244a5d8ff5b8728f7e39f7ef 100644 (file)
--- a/monitor.c
+++ b/monitor.c
@@ -271,7 +271,6 @@ static int read_and_act(struct active_array *a)
                }
        }
 
-
        for (mdi = a->info.devs ; mdi ; mdi = mdi->next) {
                if (mdi->curr_state & DS_FAULTY) {
                        a->container->ss->set_disk(a, mdi->disk.raid_disk,
@@ -281,12 +280,6 @@ static int read_and_act(struct active_array *a)
                }
        }
 
-       if (check_degraded) {
-               /* manager will do the actual check */
-               a->check_degraded = 1;
-               signal_manager();
-       }
-
        a->container->ss->sync_metadata(a->container);
 
        /* Effect state changes in the array */
@@ -323,6 +316,12 @@ static int read_and_act(struct active_array *a)
                mdi->next_state = 0;
        }
 
+       if (check_degraded) {
+               /* manager will do the actual check */
+               a->check_degraded = 1;
+               signal_manager();
+       }
+
        if (deactivate)
                a->container = NULL;