You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.2 KiB
36 lines
1.2 KiB
From 2dab69c9e3acace828bbb6a00514fa820f8ca64f Mon Sep 17 00:00:00 2001 |
|
From: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com> |
|
Date: Wed, 16 Aug 2017 14:59:46 +0200 |
|
Subject: [RHEL7.5 PATCH 169/169] Monitor: Include containers in spare |
|
migration |
|
|
|
Spare migration doesn't work for external metadata. mdadm skips |
|
a container with spare device because it is inactive. It used to work |
|
because GET_ARRAY_INFO ioctl returned valid structure for a container |
|
and mdadm treated such response as active container. Current |
|
implementation checks it in sysfs where container is shown as inactive. |
|
|
|
Adapt sysfs implementation to work the same way as ioctl. |
|
|
|
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@intel.com> |
|
Signed-off-by: Jes Sorensen <jsorensen@fb.com> |
|
--- |
|
Monitor.c | 2 +- |
|
1 file changed, 1 insertion(+), 1 deletion(-) |
|
|
|
diff --git a/Monitor.c b/Monitor.c |
|
index f70e5b5..497e364 100644 |
|
--- a/Monitor.c |
|
+++ b/Monitor.c |
|
@@ -497,7 +497,7 @@ static int check_array(struct state *st, struct mdstat_ent *mdstat, |
|
if (mse->level == NULL) |
|
is_container = 1; |
|
|
|
- if (!md_array_active(fd)) |
|
+ if (!is_container && !md_array_active(fd)) |
|
goto disappeared; |
|
|
|
fcntl(fd, F_SETFD, FD_CLOEXEC); |
|
-- |
|
2.7.4 |
|
|
|
|