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>
This commit is contained in:
Dan Williams 2009-09-15 11:35:28 -07:00
parent 436305c690
commit ed57a7e8ba
1 changed files with 2 additions and 1 deletions

View File

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