summaryrefslogtreecommitdiff
path: root/Build.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2008-11-04 20:50:38 +1100
committerNeilBrown <neilb@suse.de>2008-11-04 20:50:38 +1100
commita04d576343fcdc3da6dee3a198a4534daddbe96e (patch)
tree83f4a5e0b9b7ccd7df8d91647da4f943e0417899 /Build.c
parent9180c81bd7f4f3dd2fb9f2835894d8c0e9488dbd (diff)
Always update mdadm/map when starting an array.
We previously only updated /var/run/mdadm/map when starting an array with --incremental. However we now make more use of that file (to pass the dev name to udev) so always update it. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Build.c')
-rw-r--r--Build.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Build.c b/Build.c
index 789aca45..d831e555 100644
--- a/Build.c
+++ b/Build.c
@@ -60,6 +60,8 @@ int Build(char *mddev, int chunk, int level, int layout,
unsigned long long size = ~0ULL;
unsigned long long bitmapsize;
int mdfd;
+ char chosen_name[1024];
+ int uuid[4] = {0,0,0,0};
/* scan all devices, make sure they really are block devices */
for (dv = devlist; dv; dv=dv->next) {
@@ -114,10 +116,13 @@ int Build(char *mddev, int chunk, int level, int layout,
}
/* We need to create the device. It can have no name. */
- mdfd = create_mddev(mddev, NULL, autof, LOCAL, NULL);
+ mdfd = create_mddev(mddev, NULL, autof, LOCAL,
+ chosen_name);
if (mdfd < 0)
return 1;
+ map_update(NULL, fd2devnum(mdfd), "none", uuid, chosen_name);
+
vers = md_get_version(mdfd);
/* looks Ok, go for it */