Add sysfs_array_state to struct mdinfo, and add GET_ARRAY_STATE to options of sysfs_read. Signed-off-by: Song Liu <songliubraving@xxxxxx> Signed-off-by: Shaohua Li <shli@xxxxxx> --- mdadm.h | 4 ++++ sysfs.c | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/mdadm.h b/mdadm.h index 840a359..21fe789 100755 --- a/mdadm.h +++ b/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, diff --git a/sysfs.c b/sysfs.c index f1fd610..2600343 100644 --- a/sysfs.c +++ b/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; -- 2.4.6 -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html