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>
This commit is contained in:
Mariusz Tkaczyk 2017-08-16 14:59:46 +02:00 committed by Jes Sorensen
parent 802961a239
commit 2dab69c9e3
1 changed files with 1 additions and 1 deletions

View File

@ -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);