Dan Williams: imsm: round down array size at Create

Martin F. Krafft madduck at alioth.debian.org
Thu May 7 12:11:41 UTC 2009


Module: mdadm
Branch: debian/experimental
Commit: 979d38be50e84b70e0809249a6b05864049fb97d
URL:    http://git.debian.org/?p=pkg-mdadm/mdadm.git;a=commit;h=979d38be50e84b70e0809249a6b05864049fb97d

Author: Dan Williams <dan.j.williams at intel.com>
Date:   Sun Apr 12 00:58:28 2009 -0700

imsm: round down array size at Create

Store the 1MB rounded down size of the array at create time.

Signed-off-by: Dan Williams <dan.j.williams at intel.com>





---

 super-intel.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/super-intel.c b/super-intel.c
index b41ab3b..3415da4 100644
--- a/super-intel.c
+++ b/super-intel.c
@@ -53,6 +53,7 @@
 
 #define MPB_SECTOR_CNT 418
 #define IMSM_RESERVED_SECTORS 4096
+#define SECT_PER_MB_SHIFT 11
 
 /* Disk configuration info. */
 #define IMSM_MAX_DEVICES 255
@@ -2377,6 +2378,9 @@ static int init_super_imsm_volume(struct supertype *st, mdu_array_info_t *info,
 		array_blocks = calc_array_size(info->level, info->raid_disks,
 					       info->layout, info->chunk_size,
 					       info->size*2);
+	/* round array size down to closest MB */
+	array_blocks = (array_blocks >> SECT_PER_MB_SHIFT) << SECT_PER_MB_SHIFT;
+
 	dev->size_low = __cpu_to_le32((__u32) array_blocks);
 	dev->size_high = __cpu_to_le32((__u32) (array_blocks >> 32));
 	dev->status = __cpu_to_le32(0);




More information about the pkg-mdadm-commits mailing list