From: NeilBrown Date: Wed, 15 Jun 2011 05:49:23 +0000 (+1000) Subject: ddf: fix up getinfo_super_bvd X-Git-Tag: mdadm-3.2.2~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=fb204fb2e166774a8d8d1c73aa8362a6101d64fa;p=thirdparty%2Fmdadm.git ddf: fix up getinfo_super_bvd Now that getinfo_super clears the info structure, we need to make sure the correct values are filled in to info->dev. Signed-off-by: NeilBrown --- diff --git a/super-ddf.c b/super-ddf.c index 3fba2ebf..7312ba4b 100644 --- a/super-ddf.c +++ b/super-ddf.c @@ -1429,16 +1429,20 @@ static void getinfo_super_ddf_bvd(struct supertype *st, struct mdinfo *info, cha info->component_size = __be64_to_cpu(vc->conf.blocks); } - dl = ddf->dlist; + for (dl = ddf->dlist; dl ; dl = dl->next) + if (dl->raiddisk == ddf->currentdev) + break; + info->disk.major = 0; info->disk.minor = 0; + info->disk.state = 0; if (dl) { info->disk.major = dl->major; info->disk.minor = dl->minor; + info->disk.raid_disk = dl->raiddisk; + info->disk.number = dl->pdnum; + info->disk.state = (1<disk.number = __be32_to_cpu(ddf->disk.refnum); -// info->disk.raid_disk = find refnum in the table and use index; -// info->disk.state = ???; info->container_member = ddf->currentconf->vcnum;