diff options
author | Dan Williams <dan.j.williams@intel.com> | 2009-09-15 20:35:28 +0200 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2009-09-15 20:35:28 +0200 |
commit | ed57a7e8ba06237dc6f4a8f581d12353158ce798 (patch) | |
tree | 8a4119cc37b32f879af9ee1d84fedc28e63ff5e3 | |
parent | Detail: fix for an imsm container with a spare (diff) | |
download | mdadm-ed57a7e8ba06237dc6f4a8f581d12353158ce798.tar.xz mdadm-ed57a7e8ba06237dc6f4a8f581d12353158ce798.zip |
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>
-rw-r--r-- | Examine.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -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); |