summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2010-07-19 14:59:25 -0700
committerDan Williams <dan.j.williams@intel.com>2010-07-19 14:59:25 -0700
commit1dccfff910ce9d854330302b9a34636d63cdac7b (patch)
treeb031a618780c833d50f7dc82bbb9eeee270cb158 /util.c
parent569cc43ffb0634510defee91407d261555c7a991 (diff)
Incremental: restore assembly for inactive containers, block active
GET_ARRAY_INFO always succeeds on an inactive container, so we need to be a bit more diligent about adding a disk to an active container. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'util.c')
-rw-r--r--util.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/util.c b/util.c
index d22b0d08..1ce6a7a9 100644
--- a/util.c
+++ b/util.c
@@ -1427,7 +1427,7 @@ int is_subarray_active(char *subarray, char *container)
if (is_container_member(ent, container)) {
char *inst = &ent->metadata_version[10+strlen(container)+1];
- if (strcmp(inst, subarray) == 0)
+ if (!subarray || strcmp(inst, subarray) == 0)
break;
}
}
@@ -1437,6 +1437,11 @@ int is_subarray_active(char *subarray, char *container)
return ent != NULL;
}
+int is_container_active(char *container)
+{
+ return is_subarray_active(NULL, container);
+}
+
/* open_subarray - opens a subarray in a container
* @dev: container device name
* @st: supertype with only ->subarray set