add sysfs_array_state to struct mdinfo
Add sysfs_array_state to struct mdinfo, and add GET_ARRAY_STATE to options of sysfs_read. Signed-off-by: Song Liu <songliubraving@fb.com> Signed-off-by: Shaohua Li <shli@fb.com> Signed-off-by: NeilBrown <neilb@suse.com>
This commit is contained in:
parent
26714713cd
commit
5aa644c68a
4
mdadm.h
4
mdadm.h
|
@ -305,6 +305,9 @@ struct mdinfo {
|
||||||
#define DS_REMOVE 1024
|
#define DS_REMOVE 1024
|
||||||
#define DS_UNBLOCK 2048
|
#define DS_UNBLOCK 2048
|
||||||
int prev_state, curr_state, next_state;
|
int prev_state, curr_state, next_state;
|
||||||
|
|
||||||
|
/* info read from sysfs */
|
||||||
|
char sysfs_array_state[20];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct createinfo {
|
struct createinfo {
|
||||||
|
@ -588,6 +591,7 @@ enum sysfs_read_flags {
|
||||||
GET_SIZE = (1 << 22),
|
GET_SIZE = (1 << 22),
|
||||||
GET_STATE = (1 << 23),
|
GET_STATE = (1 << 23),
|
||||||
GET_ERROR = (1 << 24),
|
GET_ERROR = (1 << 24),
|
||||||
|
GET_ARRAY_STATE = (1 << 25),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* If fd >= 0, get the array it is open on,
|
/* If fd >= 0, get the array it is open on,
|
||||||
|
|
7
sysfs.c
7
sysfs.c
|
@ -230,6 +230,13 @@ struct mdinfo *sysfs_read(int fd, char *devnm, unsigned long options)
|
||||||
goto abort;
|
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))
|
if (! (options & GET_DEVS))
|
||||||
return sra;
|
return sra;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue