Somewhere in the 2.4.x kernel series, /proc/mounts was changed to display a
"rootfs" entry as well as the traditional "/dev/root" entry. This caused applets such as mount and df to display two root filesystem entries.... This teaches the relevant utilities to ignore the "rootfs" entry. -Erik
This commit is contained in:
		@@ -126,7 +126,9 @@ extern int df_main(int argc, char **argv)
 | 
				
			|||||||
									   ) / (blocks_used + s.f_bavail);
 | 
														   ) / (blocks_used + s.f_bavail);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			
 | 
								
 | 
				
			||||||
			if (strcmp(device, "/dev/root") == 0) {
 | 
								if (strcmp(device, "rootfs") == 0) {
 | 
				
			||||||
 | 
									continue;
 | 
				
			||||||
 | 
								} else if (strcmp(device, "/dev/root") == 0) {
 | 
				
			||||||
				/* Adjusts device to be the real root device,
 | 
									/* Adjusts device to be the real root device,
 | 
				
			||||||
				* or leaves device alone if it can't find it */
 | 
									* 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(device)) == NULL) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -334,7 +334,9 @@ static void show_mounts(char *onlytype)
 | 
				
			|||||||
		while ((m = getmntent(mountTable)) != 0) {
 | 
							while ((m = getmntent(mountTable)) != 0) {
 | 
				
			||||||
			char *blockDevice = m->mnt_fsname;
 | 
								char *blockDevice = m->mnt_fsname;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			if (strcmp(blockDevice, "/dev/root") == 0) {
 | 
								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(blockDevice);
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			if (!onlytype || (strcmp(m->mnt_type, onlytype) == 0)) {
 | 
								if (!onlytype || (strcmp(m->mnt_type, onlytype) == 0)) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -111,7 +111,9 @@ static char *mtab_getinfo(const char *match, const char which)
 | 
				
			|||||||
				return cur->mountpt;
 | 
									return cur->mountpt;
 | 
				
			||||||
			} else {
 | 
								} else {
 | 
				
			||||||
#if !defined CONFIG_FEATURE_MTAB_SUPPORT
 | 
					#if !defined CONFIG_FEATURE_MTAB_SUPPORT
 | 
				
			||||||
				if (strcmp(cur->device, "/dev/root") == 0) {
 | 
									if (strcmp(cur->device, "rootfs") == 0) {
 | 
				
			||||||
 | 
										continue;
 | 
				
			||||||
 | 
									} else if (strcmp(cur->device, "/dev/root") == 0) {
 | 
				
			||||||
					/* Adjusts device to be the real root device,
 | 
										/* Adjusts device to be the real root device,
 | 
				
			||||||
					 * or leaves device alone if it can't find it */
 | 
										 * 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(cur->device);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user