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 | |
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
-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) |