]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Treat all devices at the container level as spares
authorDan Williams <dan.j.williams@intel.com>
Thu, 2 Oct 2008 01:50:44 +0000 (18:50 -0700)
committerDan Williams <dan.j.williams@intel.com>
Wed, 15 Oct 2008 21:43:57 +0000 (14:43 -0700)
Raid disk and disk number information is not relevant at the container
level, especially for imsm.  So arrange for getinfo_super_imsm() to
always publish devices as spares and report the number of spares at
Assemble() time.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Assemble.c
super-intel.c

index c691ec9add727a0536cc0b32815ac8680be9ba7e..34f06a7ace0680a49cb2b705d41c5043cca27990 100644 (file)
@@ -946,7 +946,7 @@ int Assemble(struct supertype *st, char *mddev, int mdfd,
                        if (verbose >= 0) {
                                fprintf(stderr, Name ": Container %s has been "
                                        "assembled with %d drive%s",
-                                       mddev, okcnt, okcnt==1?"":"s");
+                                       mddev, okcnt+sparecnt, okcnt+sparecnt==1?"":"s");
                                if (okcnt < info.array.raid_disks)
                                        fprintf(stderr, " (out of %d)",
                                                info.array.raid_disks);
index 7962ac365bbd5d2c51a0b1c08ccd7445678d059b..a5b2d8989615398f83bbd10ba0e10dd3c350845e 100644 (file)
@@ -819,8 +819,6 @@ static void getinfo_super_imsm(struct supertype *st, struct mdinfo *info)
                __u32 reserved = imsm_reserved_sectors(super, super->disks);
 
                disk = &super->disks->disk;
-               info->disk.number = super->disks->index;
-               info->disk.raid_disk = super->disks->index;
                info->data_offset = __le32_to_cpu(disk->total_blocks) - reserved;
                info->component_size = reserved;
                s = __le32_to_cpu(disk->status);