diff options
author | NeilBrown <neilb@suse.de> | 2008-11-04 21:56:42 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2008-11-04 21:56:42 +1100 |
commit | a714580e029ff92606a10be5db0693f419ce1fec (patch) | |
tree | 0e3dab046d986df41595f2cd47d0a6919e182851 /Assemble.c | |
parent | 195254b87a0cb24fc2868d3c54014bf8399222a0 (diff) | |
download | mdadm-a714580e029ff92606a10be5db0693f419ce1fec.tar.gz mdadm-a714580e029ff92606a10be5db0693f419ce1fec.tar.xz mdadm-a714580e029ff92606a10be5db0693f419ce1fec.zip |
Wait for name to appear after create/assemble etc.
We don't really want mdadm to exit until udev has
created the names in /dev. So wait.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Assemble.c')
-rw-r--r-- | Assemble.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -1216,6 +1216,10 @@ int assemble_container_content(struct supertype *st, int mdfd, /* Nothing new, don't try to start */ ; else if (runstop > 0 || (working + preexist) >= content->array.working_disks) { + + map_update(&map, fd2devnum(mdfd), + content->text_version, + content->uuid, chosen_name); switch(content->array.level) { case LEVEL_LINEAR: case LEVEL_MULTIPATH: @@ -1241,6 +1245,7 @@ int assemble_container_content(struct supertype *st, int mdfd, fprintf(stderr, " (%d new)", working); fprintf(stderr, "\n"); } + wait_for(chosen_name); /* FIXME should have an O_EXCL and wait for read-auto */ } else if (verbose >= 0) @@ -1248,9 +1253,6 @@ int assemble_container_content(struct supertype *st, int mdfd, ": %s assembled with %d devices but " "not started\n", chosen_name, working); - map_update(&map, fd2devnum(mdfd), - content->text_version, - content->uuid, chosen_name); return 0; } |