diff options
author | NeilBrown <neilb@suse.de> | 2009-04-07 17:34:38 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-04-07 17:34:38 +1000 |
commit | a7c6e3fb24f8335005a6ff8e0eb668faa257c941 (patch) | |
tree | 586861457108a56d57ffb64ea2672514e89a1c74 /Incremental.c | |
parent | b1b12d58194e42208e4828ea5818279c00a0ed18 (diff) | |
download | mdadm-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.c | 6 |
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", |