summaryrefslogtreecommitdiffstats
path: root/super-intel.c
diff options
context:
space:
mode:
authorDan Williams <dan.j.williams@intel.com>2008-06-13 17:42:09 -0700
committerDan Williams <dan.j.williams@intel.com>2008-06-13 17:42:09 -0700
commit87eb16dfa93433c60753329b994e54a4514c2f89 (patch)
treefddcd5d7c6767c2a17bcdfaa0968fb643fbb9536 /super-intel.c
parentf1665f720035ab37913a68838d3310188f3a4b08 (diff)
downloadmdadm-87eb16dfa93433c60753329b994e54a4514c2f89.tar.gz
mdadm-87eb16dfa93433c60753329b994e54a4514c2f89.tar.xz
mdadm-87eb16dfa93433c60753329b994e54a4514c2f89.zip
imsm: add 'mpb_size' to --examine output
Break out sector_count() for use elsewhere. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'super-intel.c')
-rw-r--r--super-intel.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/super-intel.c b/super-intel.c
index 4052aa6..40ec2fc 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -112,11 +112,14 @@ struct imsm_super {
static char *map_state_str[] = { "normal", "uninitialized", "degraded", "failed" };
#endif
-static unsigned long long mpb_sectors(struct imsm_super *mpb)
+static unsigned int sector_count(__u32 bytes)
{
- __u32 size = __le32_to_cpu(mpb->mpb_size);
+ return ((bytes + (512-1)) & (~(512-1))) / 512;
+}
- return ((size + (512-1)) & (~(512-1))) / 512;
+static unsigned int mpb_sectors(struct imsm_super *mpb)
+{
+ return sector_count(__le32_to_cpu(mpb->mpb_size));
}
/* internal representation of IMSM metadata */
@@ -328,6 +331,7 @@ static void examine_super_imsm(struct supertype *st, char *homehost)
sum = __le32_to_cpu(mpb->check_sum);
printf(" Checksum : %08x %s\n", sum,
gen_imsm_checksum(mpb) == sum ? "correct" : "incorrect");
+ printf(" MPB Sectors : %d\n", mpb_sectors(mpb));
printf(" Disks : %d\n", mpb->num_disks);
printf(" RAID Devices : %d\n", mpb->num_raid_devs);
print_imsm_disk(mpb, super->disks->index);