From: NeilBrown Date: Thu, 21 Aug 2014 00:57:55 +0000 (+1000) Subject: super1: make sure 'room' includes 'bbl_size' when creating array. X-Git-Tag: mdadm-3.3.2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6ac17e734b35ebfb1b158f902b26ee717bab43b8;p=thirdparty%2Fmdadm.git super1: make sure 'room' includes 'bbl_size' when creating array. Because we then go ahead and subtrace bbl_size from room. Signed-off-by: NeilBrown --- diff --git a/super1.c b/super1.c index 02d6c7a1..727a08a1 100644 --- a/super1.c +++ b/super1.c @@ -2048,8 +2048,8 @@ add_internal_bitmap1(struct supertype *st, * been left. */ offset = 0; - room = choose_bm_space(__le64_to_cpu(sb->size)); bbl_size = 8; + room = choose_bm_space(__le64_to_cpu(sb->size)) + bbl_size; } else { room = __le64_to_cpu(sb->super_offset) - __le64_to_cpu(sb->data_offset) @@ -2075,8 +2075,8 @@ add_internal_bitmap1(struct supertype *st, case 2: /* between superblock and data */ if (creating) { offset = 4*2; - room = choose_bm_space(__le64_to_cpu(sb->size)); bbl_size = 8; + room = choose_bm_space(__le64_to_cpu(sb->size)) + bbl_size; } else { room = __le64_to_cpu(sb->data_offset) - __le64_to_cpu(sb->super_offset);