summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2003-06-20 09:36:49 +0000
committerEric Andersen <andersen@codepoet.org>2003-06-20 09:36:49 +0000
commit9d7f0f0fe86be9228db02e672ff5f0b2b4abfff9 (patch)
tree20549dff65fc0a4dc34482b77229f48ae4a80f2d
parentdd92c77bb0de724cfc06feed5c716f936196ff63 (diff)
downloadbusybox-w32-9d7f0f0fe86be9228db02e672ff5f0b2b4abfff9.tar.gz
busybox-w32-9d7f0f0fe86be9228db02e672ff5f0b2b4abfff9.tar.bz2
busybox-w32-9d7f0f0fe86be9228db02e672ff5f0b2b4abfff9.zip
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
-rw-r--r--coreutils/df.c4
-rw-r--r--util-linux/mount.c4
-rw-r--r--util-linux/umount.c4
3 files changed, 9 insertions, 3 deletions
diff --git a/coreutils/df.c b/coreutils/df.c
index 9673633cc..543527ea4 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -126,7 +126,9 @@ extern int df_main(int argc, char **argv)
126 ) / (blocks_used + s.f_bavail); 126 ) / (blocks_used + s.f_bavail);
127 } 127 }
128 128
129 if (strcmp(device, "/dev/root") == 0) { 129 if (strcmp(device, "rootfs") == 0) {
130 continue;
131 } else if (strcmp(device, "/dev/root") == 0) {
130 /* Adjusts device to be the real root device, 132 /* Adjusts device to be the real root device,
131 * or leaves device alone if it can't find it */ 133 * or leaves device alone if it can't find it */
132 if ((device = find_real_root_device_name(device)) == NULL) { 134 if ((device = find_real_root_device_name(device)) == NULL) {
diff --git a/util-linux/mount.c b/util-linux/mount.c
index d02005600..49d086c97 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -334,7 +334,9 @@ static void show_mounts(char *onlytype)
334 while ((m = getmntent(mountTable)) != 0) { 334 while ((m = getmntent(mountTable)) != 0) {
335 char *blockDevice = m->mnt_fsname; 335 char *blockDevice = m->mnt_fsname;
336 336
337 if (strcmp(blockDevice, "/dev/root") == 0) { 337 if (strcmp(blockDevice, "rootfs") == 0) {
338 continue;
339 } else if (strcmp(blockDevice, "/dev/root") == 0) {
338 blockDevice = find_real_root_device_name(blockDevice); 340 blockDevice = find_real_root_device_name(blockDevice);
339 } 341 }
340 if (!onlytype || (strcmp(m->mnt_type, onlytype) == 0)) { 342 if (!onlytype || (strcmp(m->mnt_type, onlytype) == 0)) {
diff --git a/util-linux/umount.c b/util-linux/umount.c
index 1d3e89301..c11f2e9d7 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -111,7 +111,9 @@ static char *mtab_getinfo(const char *match, const char which)
111 return cur->mountpt; 111 return cur->mountpt;
112 } else { 112 } else {
113#if !defined CONFIG_FEATURE_MTAB_SUPPORT 113#if !defined CONFIG_FEATURE_MTAB_SUPPORT
114 if (strcmp(cur->device, "/dev/root") == 0) { 114 if (strcmp(cur->device, "rootfs") == 0) {
115 continue;
116 } else if (strcmp(cur->device, "/dev/root") == 0) {
115 /* Adjusts device to be the real root device, 117 /* Adjusts device to be the real root device,
116 * or leaves device alone if it can't find it */ 118 * or leaves device alone if it can't find it */
117 cur->device = find_real_root_device_name(cur->device); 119 cur->device = find_real_root_device_name(cur->device);