enum imsm_update_type type;
};
-static int imsm_env_devname_as_serial(void)
-{
- char *val = getenv("IMSM_DEVNAME_AS_SERIAL");
-
- if (val && atoi(val) == 1)
- return 1;
-
- return 0;
-}
-
-
static struct supertype *match_metadata_desc_imsm(char *arg)
{
struct supertype *st;
}
#ifndef MDASSEMBLE
-static void getinfo_super_imsm(struct supertype *st, struct mdinfo *info);
-
-static void print_imsm_dev(struct imsm_dev *dev, int index)
+static void print_imsm_dev(struct imsm_dev *dev, char *uuid, int disk_idx)
{
__u64 sz;
int slot;
printf("\n");
printf("[%.16s]:\n", dev->volume);
+ printf(" UUID : %s\n", uuid);
printf(" RAID Level : %d\n", get_imsm_raid_level(map));
printf(" Members : %d\n", map->num_members);
for (slot = 0; slot < map->num_members; slot++)
- if (index == get_imsm_disk_idx(dev, slot))
+ if (disk_idx== get_imsm_disk_idx(dev, slot))
break;
if (slot < map->num_members) {
ord = get_imsm_ord_tbl_ent(dev, slot);
human_size(sz * 512));
}
+static void getinfo_super_imsm(struct supertype *st, struct mdinfo *info);
+
static void examine_super_imsm(struct supertype *st, char *homehost)
{
struct intel_super *super = st->sb;
printf(" Spare Blocks : %d\n", __le32_to_cpu(log->reserved_spare_block_count));
printf(" First Spare : %llx\n", __le64_to_cpu(log->first_spare_lba));
}
- for (i = 0; i < mpb->num_raid_devs; i++)
- print_imsm_dev(__get_imsm_dev(mpb, i), super->disks->index);
+ for (i = 0; i < mpb->num_raid_devs; i++) {
+ struct mdinfo info;
+ struct imsm_dev *dev = __get_imsm_dev(mpb, i);
+
+ super->current_vol = i;
+ getinfo_super_imsm(st, &info);
+ fname_from_uuid(st, &info, nbuf, '-');
+ print_imsm_dev(dev, nbuf + 5, super->disks->index);
+ }
for (i = 0; i < mpb->num_disks; i++) {
if (i == super->disks->index)
continue;
}
}
-static void getinfo_super_imsm(struct supertype *st, struct mdinfo *info);
-
static void brief_examine_super_imsm(struct supertype *st)
{
/* We just write a generic IMSM ARRAY entry */
struct mdinfo info;
char nbuf[64];
+ char nbuf1[64];
struct intel_super *super = st->sb;
int i;
getinfo_super_imsm(st, &info);
fname_from_uuid(st, &info, nbuf,'-');
- printf("ARRAY /dev/imsm metadata=imsm auto=md UUID=%s\n", nbuf + 5);
+ printf("ARRAY metadata=imsm auto=md UUID=%s\n", nbuf + 5);
for (i = 0; i < super->anchor->num_raid_devs; i++) {
struct imsm_dev *dev = get_imsm_dev(super, i);
super->current_vol = i;
getinfo_super_imsm(st, &info);
- fname_from_uuid(st, &info, nbuf,'-');
- printf("ARRAY /dev/md/%.16s container=/dev/imsm member=%d auto=mdp UUID=%s\n",
- dev->volume, i, nbuf + 5);
+ fname_from_uuid(st, &info, nbuf1,'-');
+ printf("ARRAY /dev/md/%.16s container=%s\n"
+ " member=%d auto=mdp UUID=%s\n",
+ dev->volume, nbuf + 5, i, nbuf1 + 5);
}
}
static void detail_super_imsm(struct supertype *st, char *homehost)
{
- printf("%s\n", __FUNCTION__);
+ struct mdinfo info;
+ char nbuf[64];
+
+ getinfo_super_imsm(st, &info);
+ fname_from_uuid(st, &info, nbuf,'-');
+ printf("\n UUID : %s\n", nbuf + 5);
}
static void brief_detail_super_imsm(struct supertype *st)
rv = scsi_get_serial(fd, scsi_serial, sizeof(scsi_serial));
- if (rv && imsm_env_devname_as_serial()) {
+ if (rv && check_env("IMSM_DEVNAME_AS_SERIAL")) {
memset(serial, 0, MAX_RAID_SERIAL_LEN);
fd2devname(fd, (char *) serial);
return 0;