]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - super0.c
Improve reporting of layout for raid10.
[thirdparty/mdadm.git] / super0.c
index 2476d7715998b524eaf474602b2e9b242be4225b..71dc39ce4a0dec2ccbb18c0d67ad19e09d636fca 100644 (file)
--- a/super0.c
+++ b/super0.c
@@ -188,10 +188,9 @@ static void examine_super0(struct supertype *st, char *homehost)
                printf("         Layout : %s\n", c?c:"-unknown-");
        }
        if (sb->level == 10) {
-               printf("         Layout : near=%d, %s=%d\n",
-                      sb->layout&255,
-                      (sb->layout&0x10000)?"offset":"far",
-                      (sb->layout>>8)&255);
+               printf("         Layout :");
+               print_r10_layout(sb->layout);
+               printf("\n");
        }
        switch(sb->level) {
        case 0:
@@ -849,13 +848,18 @@ static struct supertype *match_metadata_desc0(char *arg)
        st->sb = NULL;
        if (strcmp(arg, "0") == 0 ||
            strcmp(arg, "0.90") == 0 ||
-           strcmp(arg, "0.91") == 0 ||
-           strcmp(arg, "default") == 0
+           strcmp(arg, "default") == 0 ||
+           strcmp(arg, "") == 0 /* no metadata */
                )
                return st;
 
+       st->minor_version = 91; /* reshape in progress */
+       if (strcmp(arg, "0.91") == 0) /* For dup_super support */
+               return st;
+
        st->minor_version = 9; /* flag for 'byte-swapped' */
-       if (strcmp(arg, "0.swap")==0)
+       if (strcmp(arg, "0.swap")==0 ||
+           strcmp(arg, "0.9") == 0) /* For dup_super support */
                return st;
 
        free(st);