summaryrefslogtreecommitdiffstats
path: root/Incremental.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-03-10 16:28:22 +1100
committerNeilBrown <neilb@suse.de>2009-03-10 16:28:22 +1100
commit3092660000d462965b816ce3e7e0ff8b4802b215 (patch)
treee1aa65d04a98d03b7eb5ca8e81bc705d27b54cf7 /Incremental.c
parentadd394f39e16445a7975bd00fea69ed2bda05b70 (diff)
downloadmdadm-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.c17
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",