From 4122675629c683fc8e0e3ed400107b6e27f9eac7 Mon Sep 17 00:00:00 2001 From: Jes Sorensen Date: Wed, 21 Mar 2012 08:00:07 +1100 Subject: [PATCH] Define and use SUPER1_SIZE for allocations Use a #define rather than calculate the size of the superblock buffer on every allocation. Signed-off-by: Jes Sorensen Signed-off-by: NeilBrown --- super1.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/super1.c b/super1.c index 5ed9945..f165f59 100644 --- 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;