]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - Monitor.c
Merge branch 'master' in devel-3.0
[thirdparty/mdadm.git] / Monitor.c
index 0e2e6bc7011ceeec31c929c480c74186616299e8..af531294cc53c908ea7a1b88f7a1e0870c5c62bf 100644 (file)
--- a/Monitor.c
+++ b/Monitor.c
@@ -434,6 +434,8 @@ int Monitor(mddev_dev_t devlist,
                                        st->spare_group = NULL;
                                        st->expected_spares = -1;
                                        statelist = st;
+                                       if (test)
+                                               alert("TestMessage", st->devname, NULL, mailaddr, mailfrom, alert_cmd, dosyslog);
                                        alert("NewArray", st->devname, NULL, mailaddr, mailfrom, alert_cmd, dosyslog);
                                        new_found = 1;
                                }
@@ -616,7 +618,7 @@ int Wait(char *dev)
                                break;
 
                if (!e || e->percent < 0) {
-                       if (e &&
+                       if (e && e->metadata_version &&
                            strncmp(e->metadata_version, "external:", 9) == 0) {
                                if (is_subarray(&e->metadata_version[9]))
                                        ping_monitor(&e->metadata_version[9]);
@@ -626,7 +628,7 @@ int Wait(char *dev)
                        free_mdstat(ms);
                        return rv;
                }
-               free(ms);
+               free_mdstat(ms);
                rv = 0;
                mdstat_wait(5);
        }