From 9d7f0f0fe86be9228db02e672ff5f0b2b4abfff9 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 20 Jun 2003 09:36:49 +0000 Subject: [PATCH] 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 --- coreutils/df.c | 4 +++- util-linux/mount.c | 4 +++- util-linux/umount.c | 4 +++- 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) ) / (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, * or leaves device alone if it can't find it */ 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) while ((m = getmntent(mountTable)) != 0) { 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); } 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) return cur->mountpt; } else { #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, * or leaves device alone if it can't find it */ cur->device = find_real_root_device_name(cur->device);