Thread (76 messages) 76 messages, 2 authors, 2010-11-30
STALE5715d

[PATCH 01/53] Provide a mdstat_ent to subarray helper

From: Adam Kwolek <hidden>
Date: 2010-11-26 08:03:59
Subsystem: the rest · Maintainer: Linus Torvalds

From: Dan Williams <redacted>

...before introducing another open coded instace of this conversion.

Signed-off-by: Dan Williams <redacted>
---

 managemon.c |    2 +-
 mdadm.h     |    5 +++++
 util.c      |   11 ++++-------
 3 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/managemon.c b/managemon.c
index bab0397..544c4a6 100644
--- a/managemon.c
+++ b/managemon.c
@@ -511,7 +511,7 @@ static void manage_new(struct mdstat_ent *mdstat,
 
 	new->container = container;
 
-	inst = &mdstat->metadata_version[10+strlen(container->devname)+1];
+	inst = to_subarray(mdstat, container->devname);
 
 	new->info.array = mdi->array;
 	new->info.component_size = mdi->component_size;
diff --git a/mdadm.h b/mdadm.h
index 03dd41c..9787f9e 100644
--- a/mdadm.h
+++ b/mdadm.h
@@ -979,6 +979,11 @@ static inline int is_subarray(char *vers)
 	return (*vers == '/' || *vers == '-');
 }
 
+static inline char *to_subarray(struct mdstat_ent *ent, char *container)
+{
+	return &ent->metadata_version[10+strlen(container)+1];
+}
+
 #ifdef DEBUG
 #define dprintf(fmt, arg...) \
 	fprintf(stderr, fmt, ##arg)
diff --git a/util.c b/util.c
index c9bdd6e..6f1c1d2 100644
--- a/util.c
+++ b/util.c
@@ -1437,14 +1437,11 @@ int is_subarray_active(char *subarray, char *container)
 	struct mdstat_ent *mdstat = mdstat_read(0, 0);
 	struct mdstat_ent *ent;
 
-	for (ent = mdstat; ent; ent = ent->next) {
-		if (is_container_member(ent, container)) {
-			char *inst = &ent->metadata_version[10+strlen(container)+1];
-
-			if (!subarray || strcmp(inst, subarray) == 0)
+	for (ent = mdstat; ent; ent = ent->next)
+		if (is_container_member(ent, container))
+			if (!subarray ||
+			    strcmp(to_subarray(ent, container), subarray) == 0)
 				break;
-		}
-	}
 
 	free_mdstat(mdstat);
 
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help