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_UNBLOCK 2048
|
||||
int prev_state, curr_state, next_state;
|
||||
|
||||
/* info read from sysfs */
|
||||
char sysfs_array_state[20];
|
||||
};
|
||||
|
||||
struct createinfo {
|
||||
|
@ -588,6 +591,7 @@ enum sysfs_read_flags {
|
|||
GET_SIZE = (1 << 22),
|
||||
GET_STATE = (1 << 23),
|
||||
GET_ERROR = (1 << 24),
|
||||
GET_ARRAY_STATE = (1 << 25),
|
||||
};
|
||||
|
||||
/* 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;
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue