From: NeilBrown Date: Mon, 31 May 2010 02:08:02 +0000 (+1000) Subject: Revert change to handling of -empty-string- metadata. X-Git-Tag: mdadm-3.1.3~44 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fmdadm.git;a=commitdiff_plain;h=5082750467726d7cad6059ee8a41713da23426d3 Revert change to handling of -empty-string- metadata. If the metadata is an empty string, it means the array in question does not use metadata. This comes from sysfs_read finding "none" in "metadata_version", then super_by_fd noticing the vers == -1, and so just using the ->text_version (which is empty). In this case we want to use the super0 metadata handler routines because that is what we always used to do before commit 7d5c3964ccfaace123f7b75e15d38c2650e013d8 And that commit was wrong because "" doesn't mean "default" and so should not have been changed at the same time. Reported-by: martin f. krafft Signed-off-by: NeilBrown --- diff --git a/super0.c b/super0.c index 5c6b7d71..a0c7eb4f 100644 --- a/super0.c +++ b/super0.c @@ -922,7 +922,8 @@ static struct supertype *match_metadata_desc0(char *arg) while (arg[0] == '0' && arg[1] == '0') arg++; if (strcmp(arg, "0") == 0 || - strcmp(arg, "0.90") == 0 + strcmp(arg, "0.90") == 0 || + strcmp(arg, "") == 0 /* no metadata - i.e. non_persistent */ ) return st; diff --git a/super1.c b/super1.c index f3be7cef..8fa07453 100644 --- a/super1.c +++ b/super1.c @@ -1375,8 +1375,7 @@ static struct supertype *match_metadata_desc1(char *arg) return st; } if (strcmp(arg, "1.1") == 0 || - strcmp(arg, "1.01") == 0 || - strcmp(arg, "") == 0 /* no metadata */ + strcmp(arg, "1.01") == 0 ) { st->minor_version = 1; return st;