summaryrefslogtreecommitdiff
path: root/sysfs.c
diff options
context:
space:
mode:
authorDimitri John Ledkov <xnox@ubuntu.com>2016-02-19 16:18:57 +0000
committerDimitri John Ledkov <xnox@ubuntu.com>2016-02-19 16:18:57 +0000
commit7e15cddececa359fa92a1a58e4a0c360e13058c1 (patch)
treea4ce38859718496770223da4c9fae331a6d39bb5 /sysfs.c
parent5df672d08eb77e64a0f5ed922d2904f418d1758e (diff)
New upstream release.
Diffstat (limited to 'sysfs.c')
-rw-r--r--sysfs.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sysfs.c b/sysfs.c
index 72684702..26003432 100644
--- 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;