Reverse order of arrays when --stop --scan
so that stacked arrays are stopped properly. Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
This commit is contained in:
parent
057bd352c2
commit
d17c1f8cbd
|
@ -13,6 +13,8 @@ Changes Prior to 1.9.0 release
|
|||
- Add some missing closes of open file descriptors.
|
||||
- Reread /proc/partition for every array assembled when using
|
||||
it to find devices, rather than only once.
|
||||
- Make "mdadm -Ss" stop stacked devices properly, by reversing the
|
||||
order in which arrays are stopped.
|
||||
|
||||
Changes Prior to 1.8.0 release
|
||||
- Makefile cleanup from Luca Berra <bluca@comedia.it>
|
||||
|
|
10
mdadm.c
10
mdadm.c
|
@ -793,6 +793,16 @@ int main(int argc, char *argv[])
|
|||
/* apply to all devices in /proc/mdstat */
|
||||
struct mdstat_ent *ms = mdstat_read(0);
|
||||
struct mdstat_ent *e;
|
||||
if (devmode == 'S') {
|
||||
/* reverse order so that arrays made of arrays are stopped properly */
|
||||
struct mdstat_ent *sm = NULL;
|
||||
while ((e=ms) != NULL) {
|
||||
ms = e->next;
|
||||
e->next = sm;
|
||||
sm = e;
|
||||
}
|
||||
ms = sm;
|
||||
}
|
||||
for (e=ms ; e ; e=e->next) {
|
||||
char *name = get_md_name(e->devnum);
|
||||
|
||||
|
|
Loading…
Reference in New Issue