summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2014-08-21 10:57:55 +1000
committerNeilBrown <neilb@suse.de>2014-08-21 10:57:55 +1000
commit6ac17e734b35ebfb1b158f902b26ee717bab43b8 (patch)
treea695b13ab76c8d40c60b5295c8cf749cad97ccf9
parent268cccac2e44e8e9166c9727e740d5d1f537b6a4 (diff)
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 <neilb@suse.de>
-rw-r--r--super1.c4
1 files changed, 2 insertions, 2 deletions
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);