summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--super0.c3
-rw-r--r--sysfs.c5
2 files changed, 5 insertions, 3 deletions
diff --git a/super0.c b/super0.c
index 2476d77..f2d6d63 100644
--- a/super0.c
+++ b/super0.c
@@ -850,7 +850,8 @@ static struct supertype *match_metadata_desc0(char *arg)
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;
diff --git a/sysfs.c b/sysfs.c
index 03b09fd..d77080b 100644
--- a/sysfs.c
+++ b/sysfs.c
@@ -103,10 +103,11 @@ struct mdinfo *sysfs_read(int fd, int devnum, unsigned long options)
strcpy(base, "metadata_version");
if (load_sys(fname, buf))
goto abort;
- if (strncmp(buf, "none", 4) == 0)
+ if (strncmp(buf, "none", 4) == 0) {
sra->array.major_version =
sra->array.minor_version = -1;
- else if (strncmp(buf, "external:", 9) == 0) {
+ strcpy(sra->text_version, "");
+ } else if (strncmp(buf, "external:", 9) == 0) {
sra->array.major_version = -1;
sra->array.minor_version = -2;
strcpy(sra->text_version, buf+9);