diff options
author | NeilBrown <neilb@suse.de> | 2009-10-19 17:00:52 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-10-19 17:00:52 +1100 |
commit | 8f1b2bbbb9cab959ecab0c474dc81afdc7b6dffd (patch) | |
tree | 67ea85fde0c43cffab5716a81fc22f69fc359a01 | |
parent | 00eb571675b431b3845c67abba891a198cef06f3 (diff) | |
download | mdadm-8f1b2bbbb9cab959ecab0c474dc81afdc7b6dffd.tar.gz mdadm-8f1b2bbbb9cab959ecab0c474dc81afdc7b6dffd.tar.xz mdadm-8f1b2bbbb9cab959ecab0c474dc81afdc7b6dffd.zip |
Detail: list containers before members.
To allow "--assemble --scan" to have a chance, list
containers before members in --detail --scan output.
Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r-- | mdadm.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -1263,11 +1263,18 @@ int main(int argc, char *argv[]) struct mdstat_ent *ms = mdstat_read(0, 1); struct mdstat_ent *e; struct map_ent *map = NULL; + int members; int v = verbose>1?0:verbose+1; + for (members = 0; members <= 1; members++) { for (e=ms ; e ; e=e->next) { char *name; struct map_ent *me; + int member = e->metadata_version && + strncmp(e->metadata_version, + "external:/", 10) == 0; + if (members != member) + continue; me = map_by_devnum(&map, e->devnum); if (me && me->path && strcmp(me->path, "/unknown") != 0) @@ -1288,6 +1295,7 @@ int main(int argc, char *argv[]) rv |= WaitClean(name, -1, v); put_md_name(name); } + } free_mdstat(ms); } else if (devmode == 'S' && scan) { /* apply --stop to all devices in /proc/mdstat */ |