diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-25 10:00:58 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-06-25 10:00:58 +0000 |
| commit | e06f61d27345f3b9727d58d46da99a47614f5a60 (patch) | |
| tree | 1a44b70076954579eec605a50fc2afc95aeaae6e /util-linux | |
| parent | 7049ff8696c3c2a1be0f9901d7e2473568b8f918 (diff) | |
| download | busybox-w32-e06f61d27345f3b9727d58d46da99a47614f5a60.tar.gz busybox-w32-e06f61d27345f3b9727d58d46da99a47614f5a60.tar.bz2 busybox-w32-e06f61d27345f3b9727d58d46da99a47614f5a60.zip | |
mkfs_minix, fsck_minix: code shrink
function old new delta
fsck_minix_main 3092 3094 +2
next 539 538 -1
get_free_block 165 164 -1
check_zone_nr2 121 120 -1
alarm_intr 94 93 -1
recursive_check2 587 583 -4
recursive_check 587 583 -4
mkfs_minix_main 2974 2968 -6
map_block 237 231 -6
map_block2 341 333 -8
bad_zone 64 56 -8
write_block 619 610 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/11 up/down: 2/-49) Total: -47 bytes
Diffstat (limited to 'util-linux')
| -rw-r--r-- | util-linux/fsck_minix.c | 6 | ||||
| -rw-r--r-- | util-linux/mkfs_minix.c | 32 |
2 files changed, 19 insertions, 19 deletions
diff --git a/util-linux/fsck_minix.c b/util-linux/fsck_minix.c index dba52417e..cd17afafe 100644 --- a/util-linux/fsck_minix.c +++ b/util-linux/fsck_minix.c | |||
| @@ -121,8 +121,9 @@ enum { version2 = 0 }; | |||
| 121 | 121 | ||
| 122 | enum { MAX_DEPTH = 32 }; | 122 | enum { MAX_DEPTH = 32 }; |
| 123 | 123 | ||
| 124 | enum { dev_fd = 3 }; | ||
| 125 | |||
| 124 | struct globals { | 126 | struct globals { |
| 125 | int dev_fd; | ||
| 126 | #if ENABLE_FEATURE_MINIX2 | 127 | #if ENABLE_FEATURE_MINIX2 |
| 127 | smallint version2; | 128 | smallint version2; |
| 128 | #endif | 129 | #endif |
| @@ -158,7 +159,6 @@ struct globals { | |||
| 158 | }; | 159 | }; |
| 159 | 160 | ||
| 160 | #define G (*ptr_to_globals) | 161 | #define G (*ptr_to_globals) |
| 161 | #define dev_fd (G.dev_fd ) | ||
| 162 | #if ENABLE_FEATURE_MINIX2 | 162 | #if ENABLE_FEATURE_MINIX2 |
| 163 | #define version2 (G.version2 ) | 163 | #define version2 (G.version2 ) |
| 164 | #endif | 164 | #endif |
| @@ -1223,7 +1223,7 @@ int fsck_minix_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
| 1223 | if (!isatty(0) || !isatty(1)) | 1223 | if (!isatty(0) || !isatty(1)) |
| 1224 | die("need terminal for interactive repairs"); | 1224 | die("need terminal for interactive repairs"); |
| 1225 | } | 1225 | } |
| 1226 | dev_fd = xopen(device_name, OPT_repair ? O_RDWR : O_RDONLY); | 1226 | xmove_fd(xopen(device_name, OPT_repair ? O_RDWR : O_RDONLY), dev_fd); |
| 1227 | 1227 | ||
| 1228 | /*sync(); paranoia? */ | 1228 | /*sync(); paranoia? */ |
| 1229 | read_superblock(); | 1229 | read_superblock(); |
diff --git a/util-linux/mkfs_minix.c b/util-linux/mkfs_minix.c index 49b1d4cca..1e00a085c 100644 --- a/util-linux/mkfs_minix.c +++ b/util-linux/mkfs_minix.c | |||
| @@ -88,9 +88,9 @@ enum { | |||
| 88 | enum { version2 = 0 }; | 88 | enum { version2 = 0 }; |
| 89 | #endif | 89 | #endif |
| 90 | 90 | ||
| 91 | struct globals { | 91 | enum { dev_fd = 3 }; |
| 92 | int dev_fd; | ||
| 93 | 92 | ||
| 93 | struct globals { | ||
| 94 | #if ENABLE_FEATURE_MINIX2 | 94 | #if ENABLE_FEATURE_MINIX2 |
| 95 | smallint version2; | 95 | smallint version2; |
| 96 | #define version2 G.version2 | 96 | #define version2 G.version2 |
| @@ -240,33 +240,33 @@ static void write_tables(void) | |||
| 240 | SB.s_state &= ~MINIX_ERROR_FS; | 240 | SB.s_state &= ~MINIX_ERROR_FS; |
| 241 | 241 | ||
| 242 | msg_eol = "seek to 0 failed"; | 242 | msg_eol = "seek to 0 failed"; |
| 243 | xlseek(G.dev_fd, 0, SEEK_SET); | 243 | xlseek(dev_fd, 0, SEEK_SET); |
| 244 | 244 | ||
| 245 | msg_eol = "cannot clear boot sector"; | 245 | msg_eol = "cannot clear boot sector"; |
| 246 | xwrite(G.dev_fd, G.boot_block_buffer, 512); | 246 | xwrite(dev_fd, G.boot_block_buffer, 512); |
| 247 | 247 | ||
| 248 | msg_eol = "seek to BLOCK_SIZE failed"; | 248 | msg_eol = "seek to BLOCK_SIZE failed"; |
| 249 | xlseek(G.dev_fd, BLOCK_SIZE, SEEK_SET); | 249 | xlseek(dev_fd, BLOCK_SIZE, SEEK_SET); |
| 250 | 250 | ||
| 251 | msg_eol = "cannot write superblock"; | 251 | msg_eol = "cannot write superblock"; |
| 252 | xwrite(G.dev_fd, G.super_block_buffer, BLOCK_SIZE); | 252 | xwrite(dev_fd, G.super_block_buffer, BLOCK_SIZE); |
| 253 | 253 | ||
| 254 | msg_eol = "cannot write inode map"; | 254 | msg_eol = "cannot write inode map"; |
| 255 | xwrite(G.dev_fd, G.inode_map, SB_IMAPS * BLOCK_SIZE); | 255 | xwrite(dev_fd, G.inode_map, SB_IMAPS * BLOCK_SIZE); |
| 256 | 256 | ||
| 257 | msg_eol = "cannot write zone map"; | 257 | msg_eol = "cannot write zone map"; |
| 258 | xwrite(G.dev_fd, G.zone_map, SB_ZMAPS * BLOCK_SIZE); | 258 | xwrite(dev_fd, G.zone_map, SB_ZMAPS * BLOCK_SIZE); |
| 259 | 259 | ||
| 260 | msg_eol = "cannot write inodes"; | 260 | msg_eol = "cannot write inodes"; |
| 261 | xwrite(G.dev_fd, G.inode_buffer, INODE_BUFFER_SIZE); | 261 | xwrite(dev_fd, G.inode_buffer, INODE_BUFFER_SIZE); |
| 262 | 262 | ||
| 263 | msg_eol = "\n"; | 263 | msg_eol = "\n"; |
| 264 | } | 264 | } |
| 265 | 265 | ||
| 266 | static void write_block(int blk, char *buffer) | 266 | static void write_block(int blk, char *buffer) |
| 267 | { | 267 | { |
| 268 | xlseek(G.dev_fd, blk * BLOCK_SIZE, SEEK_SET); | 268 | xlseek(dev_fd, blk * BLOCK_SIZE, SEEK_SET); |
| 269 | xwrite(G.dev_fd, buffer, BLOCK_SIZE); | 269 | xwrite(dev_fd, buffer, BLOCK_SIZE); |
| 270 | } | 270 | } |
| 271 | 271 | ||
| 272 | static int get_free_block(void) | 272 | static int get_free_block(void) |
| @@ -481,11 +481,11 @@ static size_t do_check(char *buffer, size_t try, unsigned current_block) | |||
| 481 | 481 | ||
| 482 | /* Seek to the correct loc. */ | 482 | /* Seek to the correct loc. */ |
| 483 | msg_eol = "seek failed during testing of blocks"; | 483 | msg_eol = "seek failed during testing of blocks"; |
| 484 | xlseek(G.dev_fd, current_block * BLOCK_SIZE, SEEK_SET); | 484 | xlseek(dev_fd, current_block * BLOCK_SIZE, SEEK_SET); |
| 485 | msg_eol = "\n"; | 485 | msg_eol = "\n"; |
| 486 | 486 | ||
| 487 | /* Try the read */ | 487 | /* Try the read */ |
| 488 | got = read(G.dev_fd, buffer, try * BLOCK_SIZE); | 488 | got = read(dev_fd, buffer, try * BLOCK_SIZE); |
| 489 | if (got < 0) | 489 | if (got < 0) |
| 490 | got = 0; | 490 | got = 0; |
| 491 | try = ((size_t)got) / BLOCK_SIZE; | 491 | try = ((size_t)got) / BLOCK_SIZE; |
| @@ -516,7 +516,7 @@ static void check_blocks(void) | |||
| 516 | alarm(5); | 516 | alarm(5); |
| 517 | while (G.currently_testing < SB_ZONES) { | 517 | while (G.currently_testing < SB_ZONES) { |
| 518 | msg_eol = "seek failed in check_blocks"; | 518 | msg_eol = "seek failed in check_blocks"; |
| 519 | xlseek(G.dev_fd, G.currently_testing * BLOCK_SIZE, SEEK_SET); | 519 | xlseek(dev_fd, G.currently_testing * BLOCK_SIZE, SEEK_SET); |
| 520 | msg_eol = "\n"; | 520 | msg_eol = "\n"; |
| 521 | try = TEST_BUFFER_BLOCKS; | 521 | try = TEST_BUFFER_BLOCKS; |
| 522 | if (G.currently_testing + try > SB_ZONES) | 522 | if (G.currently_testing + try > SB_ZONES) |
| @@ -688,8 +688,8 @@ int mkfs_minix_main(int argc ATTRIBUTE_UNUSED, char **argv) | |||
| 688 | "refusing to make a filesystem", | 688 | "refusing to make a filesystem", |
| 689 | G.device_name, mp->mnt_dir); | 689 | G.device_name, mp->mnt_dir); |
| 690 | 690 | ||
| 691 | G.dev_fd = xopen(G.device_name, O_RDWR); | 691 | xmove_fd(xopen(G.device_name, O_RDWR), dev_fd); |
| 692 | if (fstat(G.dev_fd, &statbuf) < 0) | 692 | if (fstat(dev_fd, &statbuf) < 0) |
| 693 | bb_error_msg_and_die("cannot stat %s", G.device_name); | 693 | bb_error_msg_and_die("cannot stat %s", G.device_name); |
| 694 | if (!S_ISBLK(statbuf.st_mode)) | 694 | if (!S_ISBLK(statbuf.st_mode)) |
| 695 | opt &= ~1; // clear -c (check) | 695 | opt &= ~1; // clear -c (check) |
