summaryrefslogtreecommitdiffstats
path: root/Incremental.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-04-07 17:34:38 +1000
committerNeilBrown <neilb@suse.de>2009-04-07 17:34:38 +1000
commita7c6e3fb24f8335005a6ff8e0eb668faa257c941 (patch)
tree586861457108a56d57ffb64ea2672514e89a1c74 /Incremental.c
parentb1b12d58194e42208e4828ea5818279c00a0ed18 (diff)
downloadmdadm-a7c6e3fb24f8335005a6ff8e0eb668faa257c941.tar.gz
mdadm-a7c6e3fb24f8335005a6ff8e0eb668faa257c941.tar.xz
mdadm-a7c6e3fb24f8335005a6ff8e0eb668faa257c941.zip
wait_for improvement.
wait not only for the name to appear, but for it to refer to the correct device. Sometimes old symlinks left lying around can be confusing. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Incremental.c')
-rw-r--r--Incremental.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/Incremental.c b/Incremental.c
index 99fc1bf..b1cee23 100644
--- a/Incremental.c
+++ b/Incremental.c
@@ -392,14 +392,14 @@ int Incremental(char *devname, int verbose, int runstop,
/* 7a/ if not, finish with success. */
if (info.array.level == LEVEL_CONTAINER) {
/* Try to assemble within the container */
- close(mdfd);
map_unlock(&map);
sysfs_uevent(&info, "change");
if (verbose >= 0)
fprintf(stderr, Name
": container %s now has %d devices\n",
chosen_name, info.array.working_disks);
- wait_for(chosen_name);
+ wait_for(chosen_name, mdfd);
+ close(mdfd);
if (runstop < 0)
return 0; /* don't try to assemble */
return Incremental(chosen_name, verbose, runstop,
@@ -474,7 +474,7 @@ int Incremental(char *devname, int verbose, int runstop,
": %s attached to %s, which has been started.\n",
devname, chosen_name);
rv = 0;
- wait_for(chosen_name);
+ wait_for(chosen_name, mdfd);
} else {
fprintf(stderr, Name
": %s attached to %s, but failed to start: %s.\n",