diff options
author | NeilBrown <neilb@suse.de> | 2008-11-04 20:50:38 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2008-11-04 20:50:38 +1100 |
commit | a04d576343fcdc3da6dee3a198a4534daddbe96e (patch) | |
tree | 83f4a5e0b9b7ccd7df8d91647da4f943e0417899 /Create.c | |
parent | 9180c81bd7f4f3dd2fb9f2835894d8c0e9488dbd (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.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -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 |