]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
super1: make sure 'room' includes 'bbl_size' when creating array.
authorNeilBrown <neilb@suse.de>
Thu, 21 Aug 2014 00:57:55 +0000 (10:57 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 21 Aug 2014 00:57:55 +0000 (10:57 +1000)
Because we then go ahead and subtrace bbl_size from room.

Signed-off-by: NeilBrown <neilb@suse.de>
super1.c

index 02d6c7a155d16999909ffb7e0140f919ab65ee8d..727a08a110e0af32718edab56f74b2e6cb1a6a64 100644 (file)
--- 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);