]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - managemon.c
managemon: Don't do spare assignment while any updates are pending.
[thirdparty/mdadm.git] / managemon.c
index 3cf2389a3ad523bfc9db1d25cafbff19eef901f8..26ff18774c6a133976df6775574011a77e806804 100644 (file)
@@ -398,7 +398,12 @@ static void manage_member(struct mdstat_ent *mdstat,
        a->info.array.raid_disks = mdstat->raid_disks;
        // MORE
 
-       if (a->check_degraded) {
+       /* We don't check the array while any update is pending, as it
+        * might container a change (such as a spare assignment) which 
+        * could affect our decisions.
+        */
+       if (a->check_degraded &&
+           update_queue == NULL && update_queue_pending == NULL) {
                struct metadata_update *updates = NULL;
                struct mdinfo *newdev = NULL;
                struct active_array *newa;