diff options
author | NeilBrown <neilb@suse.de> | 2009-03-10 16:28:22 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-03-10 16:28:22 +1100 |
commit | 3092660000d462965b816ce3e7e0ff8b4802b215 (patch) | |
tree | e1aa65d04a98d03b7eb5ca8e81bc705d27b54cf7 /Incremental.c | |
parent | add394f39e16445a7975bd00fea69ed2bda05b70 (diff) | |
download | mdadm-3092660000d462965b816ce3e7e0ff8b4802b215.tar.gz mdadm-3092660000d462965b816ce3e7e0ff8b4802b215.tar.xz mdadm-3092660000d462965b816ce3e7e0ff8b4802b215.zip |
Incremental/container: don't create when we should just be opening.
When incr-assembling in a container, if the array already exists,
don't try to create it again, just open it.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Incremental.c')
-rw-r--r-- | Incremental.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/Incremental.c b/Incremental.c index f8a5d32..99fc1bf 100644 --- a/Incremental.c +++ b/Incremental.c @@ -733,7 +733,10 @@ int Incremental_container(struct supertype *st, char *devname, int verbose, mp = map_by_uuid(&map, ra->uuid); - if (!mp) { + if (mp) { + mdfd = open_dev(mp->devnum); + strcpy(chosen_name, mp->path); + } else { /* Check in mdadm.conf for devices == devname and * member == ra->text_version after second slash. @@ -772,13 +775,13 @@ int Incremental_container(struct supertype *st, char *devname, int verbose, array_list->member); break; } - } - mdfd = create_mddev(match ? match->devname : NULL, - ra->name, - autof, - trustworthy, - chosen_name); + mdfd = create_mddev(match ? match->devname : NULL, + ra->name, + autof, + trustworthy, + chosen_name); + } if (mdfd < 0) { fprintf(stderr, Name ": failed to open %s: %s.\n", |