int rv;
int devnum = fd2devnum(fd);
int retry;
+ enum sysfs_read_flags flags;
- /* check if this disk is a member of an active array */
- sra = sysfs_read(fd, 0, GET_LEVEL|GET_VERSION|GET_DEVS|GET_STATE);
+ flags = GET_LEVEL|GET_VERSION|GET_DEVS|GET_STATE;
+ if (mdmon_running(devnum))
+ flags |= SKIP_GONE_DEVS;
+
+ /* check if 'fd' an opened container */
+ sra = sysfs_read(fd, 0, flags);
if (!sra)
return 1;