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.
37 lines
1.2 KiB
37 lines
1.2 KiB
6 years ago
|
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
|
||
|
|