diff options
author | Neil Brown <neilb@suse.de> | 2008-05-15 15:50:47 +1000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2008-05-15 15:50:47 +1000 |
commit | 294d6f450f79fda5475e6e5c99b7be85393f03c6 (patch) | |
tree | 59acebb36928cd034961974d3bcbc2a91c59121d | |
parent | 3b0896f89988923c314cfb07454dde23b1b401fc (diff) | |
download | mdadm-294d6f450f79fda5475e6e5c99b7be85393f03c6.tar.gz |
Recent change broken handling of metadata-less arrays.
In particular, failing a device would give a silly
error message.
-rw-r--r-- | super0.c | 3 | ||||
-rw-r--r-- | sysfs.c | 5 |
2 files changed, 5 insertions, 3 deletions
@@ -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; @@ -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); |