diff options
author | Dan Williams <dan.j.williams@intel.com> | 2008-11-26 15:39:50 -0700 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2008-11-27 15:30:21 +1100 |
commit | fabbfd48b6c2398a344d2d4f7cbf0ab98181a6d4 (patch) | |
tree | a3e73bc19b2350fe7741073618221e6a8e5b4dff /mdadm.c | |
parent | 614825ea825ac70ba847cd87e3beafcc557c6273 (diff) | |
download | mdadm-fabbfd48b6c2398a344d2d4f7cbf0ab98181a6d4.tar.gz mdadm-fabbfd48b6c2398a344d2d4f7cbf0ab98181a6d4.tar.xz mdadm-fabbfd48b6c2398a344d2d4f7cbf0ab98181a6d4.zip |
Support --wait-clean --scan
Its cumbersome to determine which devices to wait for in a system shutdown
script, so hook up --scan.
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'mdadm.c')
-rw-r--r-- | mdadm.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -1213,10 +1213,14 @@ int main(int argc, char *argv[]) SparcAdjust, ss, homehost); } else { if (devlist == NULL) { - if (devmode=='D' && scan) { - /* apply --detail to all devices in /proc/mdstat */ + if ((devmode=='D' || devmode == Waitclean) && scan) { + /* apply --detail or --wait-clean to + * all devices in /proc/mdstat + */ struct mdstat_ent *ms = mdstat_read(0, 1); struct mdstat_ent *e; + int v = verbose>1?0:verbose+1; + for (e=ms ; e ; e=e->next) { char *name = get_md_name(e->devnum); @@ -1225,8 +1229,12 @@ int main(int argc, char *argv[]) e->dev); continue; } - rv |= Detail(name, verbose>1?0:verbose+1, - export, test, homehost); + if (devmode == 'D') + rv |= Detail(name, v, + export, test, + homehost); + else + rv |= WaitClean(name, v); put_md_name(name); } } else if (devmode == 'S' && scan) { |