[BusyBox-cvs] CVS update of busybox (coreutils/df.c include/libbb.h libbb/find_root_device.c util-linux/mount.c util-linux/umount.c)

Erik Andersen andersen at codepoet.org
Tue Aug 3 00:14:03 UTC 2004


    Date: Monday, August 2, 2004 @ 18:14:03
  Author: andersen
    Path: /var/cvs/busybox

Modified: coreutils/df.c (1.57 -> 1.58) include/libbb.h (1.132 -> 1.133)
          libbb/find_root_device.c (1.12 -> 1.13) util-linux/mount.c
          (1.119 -> 1.120) util-linux/umount.c (1.64 -> 1.65)

Tito, farmatito at tiscali dot it writes:

Hi to all,
This patch is useful for:
1) remove an unused var from extern char *find_real_root_device_name(const char* name)
    changing it to extern char *find_real_root_device_name(void).
2) fixes include/libbb.h, coreutils/df.c, util-linux/mount.c and  util-linux/umount.c accordingly.
3) fixes a bug, really a false positive,  in find_real_root_device_name() that happens if
    in the /dev directory exists a link named root (/dev/root) that should be skipped but
    is not. This affects applets like df that display wrong results


Index: busybox/coreutils/df.c
diff -u busybox/coreutils/df.c:1.57 busybox/coreutils/df.c:1.58
--- busybox/coreutils/df.c:1.57	Wed Apr 14 11:51:09 2004
+++ busybox/coreutils/df.c	Mon Aug  2 18:14:01 2004
@@ -130,7 +130,7 @@
 			} else if (strcmp(device, "/dev/root") == 0) {
 				/* Adjusts device to be the real root device,
 				* or leaves device alone if it can't find it */
-				if ((device = find_real_root_device_name(device)) == NULL) {
+				if ((device = find_real_root_device_name()) == NULL) {
 					goto SET_ERROR;
 				}
 			}
Index: busybox/include/libbb.h
diff -u busybox/include/libbb.h:1.132 busybox/include/libbb.h:1.133
--- busybox/include/libbb.h:1.132	Tue Jun 22 04:07:15 2004
+++ busybox/include/libbb.h	Mon Aug  2 18:14:01 2004
@@ -134,7 +134,7 @@
 					   char* filesystemType, long flags, char* string_flags);
 extern void erase_mtab(const char * name);
 extern long *find_pid_by_name( const char* pidName);
-extern char *find_real_root_device_name(const char* name);
+extern char *find_real_root_device_name(void);
 extern char *bb_get_line_from_file(FILE *file);
 extern char *bb_get_chomped_line_from_file(FILE *file);
 extern int bb_copyfd_size(int fd1, int fd2, const off_t size);
Index: busybox/libbb/find_root_device.c
diff -u busybox/libbb/find_root_device.c:1.12 busybox/libbb/find_root_device.c:1.13
--- busybox/libbb/find_root_device.c:1.12	Mon Mar 15 01:28:42 2004
+++ busybox/libbb/find_root_device.c	Mon Aug  2 18:14:02 2004
@@ -27,7 +27,7 @@
 
 
 
-extern char *find_real_root_device_name(const char* name)
+extern char *find_real_root_device_name(void)
 {
 	DIR *dir;
 	struct dirent *entry;
@@ -54,7 +54,11 @@
 				 * would get a false positive on ".."  */
 				if (myname[0] == '.' && myname[1] == '.' && !myname[2])
 					continue;
-
+#ifdef CONFIG_FEATURE_DEVFS
+				/* if there is a link named /dev/root skip that too */
+				if (strcmp(myname, "root")==0)
+					continue;
+#endif
 				fileName = concat_path_file("/dev", myname);
 
 				/* Some char devices have the same dev_t as block
Index: busybox/util-linux/mount.c
diff -u busybox/util-linux/mount.c:1.119 busybox/util-linux/mount.c:1.120
--- busybox/util-linux/mount.c:1.119	Wed May 26 15:26:07 2004
+++ busybox/util-linux/mount.c	Mon Aug  2 18:14:02 2004
@@ -345,7 +345,7 @@
 			if (strcmp(blockDevice, "rootfs") == 0) {
 				continue;
 			} else if (strcmp(blockDevice, "/dev/root") == 0) {
-				blockDevice = find_real_root_device_name(blockDevice);
+				blockDevice = find_real_root_device_name();
 			}
 			if (!onlytype || (strcmp(m->mnt_type, onlytype) == 0)) {
 				printf("%s on %s type %s (%s)\n", blockDevice, m->mnt_dir,
Index: busybox/util-linux/umount.c
diff -u busybox/util-linux/umount.c:1.64 busybox/util-linux/umount.c:1.65
--- busybox/util-linux/umount.c:1.64	Mon Mar 15 01:29:22 2004
+++ busybox/util-linux/umount.c	Mon Aug  2 18:14:02 2004
@@ -115,7 +115,7 @@
 				} else if (strcmp(cur->device, "/dev/root") == 0) {
 					/* Adjusts device to be the real root device,
 					 * or leaves device alone if it can't find it */
-					cur->device = find_real_root_device_name(cur->device);
+					cur->device = find_real_root_device_name();
 				}
 #endif
 				return cur->device;



More information about the busybox-cvs mailing list