From fb204fb2e166774a8d8d1c73aa8362a6101d64fa Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Wed, 15 Jun 2011 15:49:23 +1000 Subject: 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 --- super-ddf.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/super-ddf.c b/super-ddf.c index 3fba2eb..7312ba4 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; -- cgit v1.2.1