svn commit: trunk/busybox/util-linux

vda at busybox.net vda at busybox.net
Wed Jun 25 10:00:59 UTC 2008


Author: vda
Date: 2008-06-25 03:00:58 -0700 (Wed, 25 Jun 2008)
New Revision: 22498

Log:
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



Modified:
   trunk/busybox/util-linux/fsck_minix.c
   trunk/busybox/util-linux/mkfs_minix.c


Changeset:
Modified: trunk/busybox/util-linux/fsck_minix.c
===================================================================
--- trunk/busybox/util-linux/fsck_minix.c	2008-06-25 09:53:17 UTC (rev 22497)
+++ trunk/busybox/util-linux/fsck_minix.c	2008-06-25 10:00:58 UTC (rev 22498)
@@ -121,8 +121,9 @@
 
 enum { MAX_DEPTH = 32 };
 
+enum { dev_fd = 3 };
+
 struct globals {
-	int dev_fd;
 #if ENABLE_FEATURE_MINIX2
 	smallint version2;
 #endif
@@ -158,7 +159,6 @@
 };
 
 #define G (*ptr_to_globals)
-#define dev_fd             (G.dev_fd             )
 #if ENABLE_FEATURE_MINIX2
 #define version2           (G.version2           )
 #endif
@@ -1223,7 +1223,7 @@
 		if (!isatty(0) || !isatty(1))
 			die("need terminal for interactive repairs");
 	}
-	dev_fd = xopen(device_name, OPT_repair ? O_RDWR : O_RDONLY);
+	xmove_fd(xopen(device_name, OPT_repair ? O_RDWR : O_RDONLY), dev_fd);
 
 	/*sync(); paranoia? */
 	read_superblock();

Modified: trunk/busybox/util-linux/mkfs_minix.c
===================================================================
--- trunk/busybox/util-linux/mkfs_minix.c	2008-06-25 09:53:17 UTC (rev 22497)
+++ trunk/busybox/util-linux/mkfs_minix.c	2008-06-25 10:00:58 UTC (rev 22498)
@@ -88,9 +88,9 @@
 enum { version2 = 0 };
 #endif
 
+enum { dev_fd = 3 };
+
 struct globals {
-	int dev_fd;
-
 #if ENABLE_FEATURE_MINIX2
 	smallint version2;
 #define version2 G.version2
@@ -240,33 +240,33 @@
 	SB.s_state &= ~MINIX_ERROR_FS;
 
 	msg_eol = "seek to 0 failed";
-	xlseek(G.dev_fd, 0, SEEK_SET);
+	xlseek(dev_fd, 0, SEEK_SET);
 
 	msg_eol = "cannot clear boot sector";
-	xwrite(G.dev_fd, G.boot_block_buffer, 512);
+	xwrite(dev_fd, G.boot_block_buffer, 512);
 
 	msg_eol = "seek to BLOCK_SIZE failed";
-	xlseek(G.dev_fd, BLOCK_SIZE, SEEK_SET);
+	xlseek(dev_fd, BLOCK_SIZE, SEEK_SET);
 
 	msg_eol = "cannot write superblock";
-	xwrite(G.dev_fd, G.super_block_buffer, BLOCK_SIZE);
+	xwrite(dev_fd, G.super_block_buffer, BLOCK_SIZE);
 
 	msg_eol = "cannot write inode map";
-	xwrite(G.dev_fd, G.inode_map, SB_IMAPS * BLOCK_SIZE);
+	xwrite(dev_fd, G.inode_map, SB_IMAPS * BLOCK_SIZE);
 
 	msg_eol = "cannot write zone map";
-	xwrite(G.dev_fd, G.zone_map, SB_ZMAPS * BLOCK_SIZE);
+	xwrite(dev_fd, G.zone_map, SB_ZMAPS * BLOCK_SIZE);
 
 	msg_eol = "cannot write inodes";
-	xwrite(G.dev_fd, G.inode_buffer, INODE_BUFFER_SIZE);
+	xwrite(dev_fd, G.inode_buffer, INODE_BUFFER_SIZE);
 
 	msg_eol = "\n";
 }
 
 static void write_block(int blk, char *buffer)
 {
-	xlseek(G.dev_fd, blk * BLOCK_SIZE, SEEK_SET);
-	xwrite(G.dev_fd, buffer, BLOCK_SIZE);
+	xlseek(dev_fd, blk * BLOCK_SIZE, SEEK_SET);
+	xwrite(dev_fd, buffer, BLOCK_SIZE);
 }
 
 static int get_free_block(void)
@@ -481,11 +481,11 @@
 
 	/* Seek to the correct loc. */
 	msg_eol = "seek failed during testing of blocks";
-	xlseek(G.dev_fd, current_block * BLOCK_SIZE, SEEK_SET);
+	xlseek(dev_fd, current_block * BLOCK_SIZE, SEEK_SET);
 	msg_eol = "\n";
 
 	/* Try the read */
-	got = read(G.dev_fd, buffer, try * BLOCK_SIZE);
+	got = read(dev_fd, buffer, try * BLOCK_SIZE);
 	if (got < 0)
 		got = 0;
 	try = ((size_t)got) / BLOCK_SIZE;
@@ -516,7 +516,7 @@
 	alarm(5);
 	while (G.currently_testing < SB_ZONES) {
 		msg_eol = "seek failed in check_blocks";
-		xlseek(G.dev_fd, G.currently_testing * BLOCK_SIZE, SEEK_SET);
+		xlseek(dev_fd, G.currently_testing * BLOCK_SIZE, SEEK_SET);
 		msg_eol = "\n";
 		try = TEST_BUFFER_BLOCKS;
 		if (G.currently_testing + try > SB_ZONES)
@@ -688,8 +688,8 @@
 				"refusing to make a filesystem",
 				G.device_name, mp->mnt_dir);
 
-	G.dev_fd = xopen(G.device_name, O_RDWR);
-	if (fstat(G.dev_fd, &statbuf) < 0)
+	xmove_fd(xopen(G.device_name, O_RDWR), dev_fd);
+	if (fstat(dev_fd, &statbuf) < 0)
 		bb_error_msg_and_die("cannot stat %s", G.device_name);
 	if (!S_ISBLK(statbuf.st_mode))
 		opt &= ~1; // clear -c (check)




More information about the busybox-cvs mailing list