]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - Monitor.c
Various man page fixes.
[thirdparty/mdadm.git] / Monitor.c
index acc82ac4dce8febee95e60d6beb9344fb14daad3..452f62d8d1b13cc78ee6c7897c1f135ebf6fb30f 100644 (file)
--- a/Monitor.c
+++ b/Monitor.c
@@ -765,6 +765,10 @@ static dev_t choose_spare(struct state *from, struct state *to,
                        struct dev_policy *pol;
                        unsigned long long dev_size;
 
+                       if (to->metadata->ss->external &&
+                           test_partition_from_id(from->devid[d]))
+                               continue;
+
                        if (min_size &&
                            dev_size_from_id(from->devid[d], &dev_size) &&
                            dev_size < min_size)
@@ -774,7 +778,7 @@ static dev_t choose_spare(struct state *from, struct state *to,
                        if (from->spare_group)
                                pol_add(&pol, pol_domain,
                                        from->spare_group, NULL);
-                       if (domain_test(domlist, pol, to->metadata->ss->name))
+                       if (domain_test(domlist, pol, to->metadata->ss->name) == 1)
                            dev = from->devid[d];
                        dev_policy_free(pol);
                }