]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdadm.c
Sort mdstat entries so that composites are well-ordered.
[thirdparty/mdadm.git] / mdadm.c
diff --git a/mdadm.c b/mdadm.c
index 4174f9262d3e02489673f137e48737b5aabe014f..7b6c3d01039c3d463494fb7f19131cf1596e64f9 100644 (file)
--- a/mdadm.c
+++ b/mdadm.c
@@ -1006,14 +1006,6 @@ int main(int argc, char *argv[])
                        rv = 1;
                        break;
                }
-               if (ss == NULL) {
-                       for(i=0; !ss && superlist[i]; i++) 
-                               ss = superlist[i]->match_metadata_desc("default");
-               }
-               if (!ss) {
-                       fprintf(stderr, Name ": internal error - no default metadata style\n");
-                       exit(2);
-               }
 
                rv = Create(ss, devlist->devname, mdfd, chunk, level, layout, size<0 ? 0 : size,
                            raiddisks, sparedisks, ident.name,
@@ -1038,7 +1030,7 @@ int main(int argc, char *argv[])
                        if (devlist == NULL) {
                                if (devmode=='D' && scan) {
                                        /* apply --detail to all devices in /proc/mdstat */
-                                       struct mdstat_ent *ms = mdstat_read(0);
+                                       struct mdstat_ent *ms = mdstat_read(0, 1);
                                        struct mdstat_ent *e;
                                        for (e=ms ; e ; e=e->next) {
                                                char *name = get_md_name(e->devnum);
@@ -1059,7 +1051,7 @@ int main(int argc, char *argv[])
                                        int progress=1, err;
                                        int last = 0;
                                        do {
-                                               struct mdstat_ent *ms = mdstat_read(0);
+                                               struct mdstat_ent *ms = mdstat_read(0, 0);
                                                struct mdstat_ent *e;
 
                                                if (!progress) last = 1;
@@ -1160,7 +1152,7 @@ int main(int argc, char *argv[])
                else if (bitmap_file) {
                        if (delay == 0) delay = DEFAULT_BITMAP_DELAY;
                        rv = Grow_addbitmap(devlist->devname, mdfd, bitmap_file,
-                                           bitmap_chunk, delay, write_behind);
+                                           bitmap_chunk, delay, write_behind, force);
                } else
                        fprintf(stderr, Name ": no changes to --grow\n");
                break;