summaryrefslogtreecommitdiff
path: root/Assemble.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2010-11-22 20:58:05 +1100
committerNeilBrown <neilb@suse.de>2010-11-22 20:58:05 +1100
commit2b594614a153a94f2f061c9dfae079986d243ee5 (patch)
treeedc8719e67eb6009db3af9ad51cdb75322bd036d /Assemble.c
parent1415fe4b6c766caa5a3e57a15cac4a3ac395c543 (diff)
Remove content from mddev_dev
Now that the next_member loop is much smaller it is easy to just use 'content' rather than stashing it in 'tmpdev->content'. So we can remove the 'content' field from 'struct mddev_dev'. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Assemble.c')
-rw-r--r--Assemble.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/Assemble.c b/Assemble.c
index b3a214a7..4b9b4089 100644
--- a/Assemble.c
+++ b/Assemble.c
@@ -391,22 +391,21 @@ int Assemble(struct supertype *st, char *mddev,
fprintf(stderr, Name ": looking in container %s\n",
devname);
- tmpdev->content = tst->ss->container_content(tst, NULL);
+ content = tst->ss->container_content(tst, NULL);
next_member:
- if (tmpdev->content)
- content = tmpdev->content;
if (!content)
goto loop; /* empty container */
- tmpdev->content = content->next;
- if (tmpdev->content == NULL)
+ if (content->next == NULL)
tmpdev->used = 2;
if (!ident_matches(ident, content, tst,
homehost, update,
- report_missmatch ? devname : NULL))
+ report_missmatch ? devname : NULL)) {
+ content = content->next;
goto next_member;
+ }
/* we have the one container we need, don't keep
* looking. If the chosen member is active, skip.
@@ -417,11 +416,11 @@ int Assemble(struct supertype *st, char *mddev,
content->text_version,
devname);
skip:
- if (tmpdev->content)
+ content = content->next;
+ if (content)
goto next_member;
tst->ss->free_super(tst);
tst = NULL;
- content = NULL;
if (auto_assem)
goto loop;
dev_policy_free(pol);