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

[PATCH 14/53] FIX: Cannot exit monitor after takeover

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

When performing backward takeover to raid0 monitor cannot exit
for single raid0 array configuration.
Monitor is locked by communication (ping_manager()) after unfreeze()

Do not ping manager for raid0 array as they shouldn't be monitored.

Signed-off-by: Adam Kwolek <redacted>
---

 msg.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/msg.c b/msg.c
index 8e7ebfd..95c6f0b 100644
--- a/msg.c
+++ b/msg.c
@@ -385,11 +385,12 @@ void unblock_monitor(char *container, const int unfreeze)
 		if (!is_container_member(e, container))
 			continue;
 		sysfs_free(sra);
-		sra = sysfs_read(-1, e->devnum, GET_VERSION);
+		sra = sysfs_read(-1, e->devnum, GET_VERSION|GET_LEVEL);
 		if (unblock_subarray(sra, unfreeze))
 			fprintf(stderr, Name ": Failed to unfreeze %s\n", e->dev);
 	}
-	ping_monitor(container);
+	if (sra && sra->array.level > 0)
+		ping_monitor(container);
 
 	sysfs_free(sra);
 	free_mdstat(ent);
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help