]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Define and use SUPER1_SIZE for allocations
authorJes Sorensen <Jes.Sorensen@redhat.com>
Tue, 20 Mar 2012 21:00:07 +0000 (08:00 +1100)
committerNeilBrown <neilb@suse.de>
Tue, 20 Mar 2012 21:00:07 +0000 (08:00 +1100)
Use a #define rather than calculate the size of the superblock buffer
on every allocation.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.de>
super1.c

index 5ed99456c58f9bb1154b7a830a144c79b2ea3b7e..f165f59201342a60fa6589ddb1d7f76db55fb5d6 100644 (file)
--- a/super1.c
+++ b/super1.c
@@ -93,6 +93,8 @@ struct mdp_superblock_1 {
 /* bitmap super size is 256, but we round up to a sector for alignment */
 #define BM_SUPER_SIZE 512
 #define MAX_DEVS ((int)(MAX_SB_SIZE - sizeof(struct mdp_superblock_1)) / 2)
+#define SUPER1_SIZE    (MAX_SB_SIZE + BM_SUPER_SIZE \
+                        + sizeof(struct misc_dev_info))
 
 struct misc_dev_info {
        __u64 device_size;
@@ -841,8 +843,7 @@ static int init_super1(struct supertype *st, mdu_array_info_t *info,
        char defname[10];
        int sbsize;
 
-       if (posix_memalign((void**)&sb, 512, (MAX_SB_SIZE + BM_SUPER_SIZE + 
-                          sizeof(struct misc_dev_info))) != 0) {
+       if (posix_memalign((void**)&sb, 512, SUPER1_SIZE) != 0) {
                fprintf(stderr, Name
                        ": %s could not allocate superblock\n", __func__);
                return 0;
@@ -1227,15 +1228,12 @@ static int compare_super1(struct supertype *st, struct supertype *tst)
                return 1;
 
        if (!first) {
-               if (posix_memalign((void**)&first, 512,
-                              MAX_SB_SIZE + BM_SUPER_SIZE +
-                              sizeof(struct misc_dev_info)) != 0) {
+               if (posix_memalign((void**)&first, 512, SUPER1_SIZE) != 0) {
                        fprintf(stderr, Name
                                ": %s could not allocate superblock\n", __func__);
                        return 1;
                }
-               memcpy(first, second, MAX_SB_SIZE + BM_SUPER_SIZE +
-                      sizeof(struct misc_dev_info));
+               memcpy(first, second, SUPER1_SIZE);
                st->sb = first;
                return 0;
        }
@@ -1342,9 +1340,7 @@ static int load_super1(struct supertype *st, int fd, char *devname)
                return 1;
        }
 
-       if (posix_memalign((void**)&super, 512,
-                          MAX_SB_SIZE + BM_SUPER_SIZE +
-                          sizeof(struct misc_dev_info)) != 0) {
+       if (posix_memalign((void**)&super, 512, SUPER1_SIZE) != 0) {
                fprintf(stderr, Name ": %s could not allocate superblock\n",
                        __func__);
                return 1;