From: Neil Brown Date: Thu, 15 May 2008 05:50:47 +0000 (+1000) Subject: Recent change broken handling of metadata-less arrays. X-Git-Tag: mdadm-2.6.5~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=294d6f450f79fda5475e6e5c99b7be85393f03c6;p=thirdparty%2Fmdadm.git Recent change broken handling of metadata-less arrays. In particular, failing a device would give a silly error message. --- diff --git a/super0.c b/super0.c index 2476d771..f2d6d63f 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 03b09fd8..d77080b9 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);