summaryrefslogtreecommitdiff
path: root/Create.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 /Create.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 'Create.c')
-rw-r--r--Create.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/Create.c b/Create.c
index ab4406e1..23047c93 100644
--- a/Create.c
+++ b/Create.c
@@ -79,6 +79,7 @@ int Create(struct supertype *st, char *mddev,
struct mdinfo info, *infos;
int did_default = 0;
unsigned long safe_mode_delay = 0;
+ char chosen_name[1024];
int major_num = BITMAP_MAJOR_HI;
@@ -421,7 +422,7 @@ int Create(struct supertype *st, char *mddev,
}
/* We need to create the device */
- mdfd = create_mddev(mddev, name, autof, LOCAL, NULL);
+ mdfd = create_mddev(mddev, name, autof, LOCAL, chosen_name);
if (mdfd < 0)
return 1;
@@ -439,6 +440,7 @@ int Create(struct supertype *st, char *mddev,
goto abort;
}
}
+
/* Ok, lets try some ioctls */
info.array.level = level;
@@ -559,6 +561,9 @@ int Create(struct supertype *st, char *mddev,
" %s metadata\n", info.text_version);
}
+ map_update(NULL, fd2devnum(mdfd), info.text_version,
+ info.uuid, chosen_name);
+
if (bitmap_file && vers < 9003) {
major_num = BITMAP_MAJOR_HOSTENDIAN;
#ifdef __BIG_ENDIAN