summaryrefslogtreecommitdiff
path: root/Examine.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2009-09-15 11:35:28 -0700
committerDan Williams <dan.j.williams@intel.com>2009-09-15 11:35:28 -0700
commited57a7e8ba06237dc6f4a8f581d12353158ce798 (patch)
tree8a4119cc37b32f879af9ee1d84fedc28e63ff5e3 /Examine.c
parent436305c6905f81735eb04e9ef6577c21358836e8 (diff)
Examine: don't count containers as spares
mdadm -Ebs will include containers in the scanned device list. Examine() falsely thinks they are spares when MD_DISK_SYNC is not set. This could be fixed by forcing all formats to set this flag for container devices, but this flag is currently used by imsm to identify free-floating spares. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'Examine.c')
-rw-r--r--Examine.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/Examine.c b/Examine.c
index d4904bc9..7fbd4ae2 100644
--- a/Examine.c
+++ b/Examine.c
@@ -118,7 +118,8 @@ int Examine(mddev_dev_t devlist, int brief, int export, int scan,
st->ss->getinfo_super(st, &ap->info);
} else
st->ss->getinfo_super(st, &ap->info);
- if (!(ap->info.disk.state & (1<<MD_DISK_SYNC)))
+ if (!st->loaded_container &&
+ !(ap->info.disk.state & (1<<MD_DISK_SYNC)))
ap->spares++;
d = dl_strdup(devlist->devname);
dl_add(ap->devs, d);