]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - sysfs.c
super1: fix calculation of space_before
[thirdparty/mdadm.git] / sysfs.c
diff --git a/sysfs.c b/sysfs.c
index 726847020acbf0814a8360a1181fd85d0bbdf63a..260034327e3ae852f0683722b052d102b6bb460e 100644 (file)
--- a/sysfs.c
+++ b/sysfs.c
@@ -74,6 +74,12 @@ int sysfs_open(char *devnm, char *devname, char *attr)
        return fd;
 }
 
+void sysfs_init_dev(struct mdinfo *mdi, unsigned long devid)
+{
+       snprintf(mdi->sys_name,
+                sizeof(mdi->sys_name), "dev-%s", devid2kname(devid));
+}
+
 void sysfs_init(struct mdinfo *mdi, int fd, char *devnm)
 {
        mdi->sys_name[0] = 0;
@@ -224,6 +230,13 @@ struct mdinfo *sysfs_read(int fd, char *devnm, unsigned long options)
                        goto abort;
        }
 
+       if (options & GET_ARRAY_STATE) {
+               strcpy(base, "array_state");
+               if (load_sys(fname, sra->sysfs_array_state))
+                       goto abort;
+       } else
+               sra->sysfs_array_state[0] = 0;
+
        if (! (options & GET_DEVS))
                return sra;