devlist->devname, 0, 0, NULL);
/* Ok, its good enough to try, though the checksum could be wrong */
- if (brief) {
+ if (brief && st->ss->brief_examine_super == NULL) {
+ if (!scan)
+ fprintf(stderr, Name ": No brief listing for %s on %s\n",
+ st->ss->name, devlist->devname);
+ } else if (brief) {
struct array *ap;
char *d;
for (ap=arrays; ap; ap=ap->next) {
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);