mkfs_minix: remove older, less efficient bss reduction trick

This commit is contained in:
Denis Vlasenko 2007-03-18 14:43:21 +00:00
parent 8e1a0cc4c9
commit 83bb98f759

View File

@ -115,6 +115,8 @@ struct globals {
char super_block_buffer[BLOCK_SIZE]; char super_block_buffer[BLOCK_SIZE];
char boot_block_buffer[512]; char boot_block_buffer[512];
unsigned short good_blocks_table[MAX_GOOD_BLOCKS]; unsigned short good_blocks_table[MAX_GOOD_BLOCKS];
/* check_blocks(): buffer[] was the biggest static in entire bbox */
char check_blocks_buffer[BLOCK_SIZE * TEST_BUFFER_BLOCKS];
}; };
#define G (*ptr_to_globals) #define G (*ptr_to_globals)
@ -492,8 +494,6 @@ static void alarm_intr(int alnum)
static void check_blocks(void) static void check_blocks(void)
{ {
size_t try, got; size_t try, got;
/* buffer[] was the biggest static in entire bbox */
char *buffer = xmalloc(BLOCK_SIZE * TEST_BUFFER_BLOCKS);
G.currently_testing = 0; G.currently_testing = 0;
signal(SIGALRM, alarm_intr); signal(SIGALRM, alarm_intr);
@ -505,7 +505,7 @@ static void check_blocks(void)
try = TEST_BUFFER_BLOCKS; try = TEST_BUFFER_BLOCKS;
if (G.currently_testing + try > SB_ZONES) if (G.currently_testing + try > SB_ZONES)
try = SB_ZONES - G.currently_testing; try = SB_ZONES - G.currently_testing;
got = do_check(buffer, try, G.currently_testing); got = do_check(G.check_blocks_buffer, try, G.currently_testing);
G.currently_testing += got; G.currently_testing += got;
if (got == try) if (got == try)
continue; continue;
@ -516,7 +516,6 @@ static void check_blocks(void)
G.currently_testing++; G.currently_testing++;
} }
alarm(0); alarm(0);
free(buffer);
printf("%d bad block(s)\n", G.badblocks); printf("%d bad block(s)\n", G.badblocks);
} }