summaryrefslogtreecommitdiff
path: root/sysfs.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2008-05-15 15:50:47 +1000
committerNeil Brown <neilb@suse.de>2008-05-15 15:50:47 +1000
commit294d6f450f79fda5475e6e5c99b7be85393f03c6 (patch)
tree59acebb36928cd034961974d3bcbc2a91c59121d /sysfs.c
parent3b0896f89988923c314cfb07454dde23b1b401fc (diff)
Recent change broken handling of metadata-less arrays.
In particular, failing a device would give a silly error message.
Diffstat (limited to 'sysfs.c')
-rw-r--r--sysfs.c5
1 files changed, 3 insertions, 2 deletions
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);