summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLauri Kasanen2011-01-31 06:27:35 +0100
committerDenys Vlasenko2011-01-31 06:27:35 +0100
commit55ae0e9238e1979f0200700ec5dbd0df8d32f7a2 (patch)
treea84f49f35110aff62102c808cb983f6fb7bde10f
parent625cfd87d9282c9698a02cd6acd870ee0baee407 (diff)
downloadbusybox-55ae0e9238e1979f0200700ec5dbd0df8d32f7a2.zip
busybox-55ae0e9238e1979f0200700ec5dbd0df8d32f7a2.tar.gz
df,find_mount_point: optionally don't ignore rootfs
Signed-off-by: Lauri Kasanen <curaga@operamail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--coreutils/df.c2
-rw-r--r--libbb/Config.src19
-rw-r--r--libbb/find_mount_point.c2
3 files changed, 21 insertions, 2 deletions
diff --git a/coreutils/df.c b/coreutils/df.c
index af9b77b..70fd1f4 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -160,7 +160,7 @@ int df_main(int argc UNUSED_PARAM, char **argv)
}
/* GNU coreutils 6.10 skips certain mounts, try to be compatible. */
- if (strcmp(device, "rootfs") == 0)
+ if (ENABLE_FEATURE_SKIP_ROOTFS && strcmp(device, "rootfs") == 0)
continue;
#ifdef WHY_WE_DO_IT_FOR_DEV_ROOT_ONLY
diff --git a/libbb/Config.src b/libbb/Config.src
index 85892d3..dfb897d 100644
--- a/libbb/Config.src
+++ b/libbb/Config.src
@@ -161,6 +161,25 @@ config FEATURE_COPYBUF_KB
Bigger buffers will be allocated with mmap, with fallback to 4 kb
stack buffer if mmap fails.
+config FEATURE_SKIP_ROOTFS
+ bool "Skip rootfs in mount table"
+ default y
+ help
+ Ignore rootfs entry in mount table.
+
+ In Linux, kernel has a special filesystem, rootfs, which is initially
+ mounted on /. It contains initramfs data, if kernel is configured
+ to have one. Usually, another file system is mounted over / early
+ in boot process, and therefore most tools which manipulate
+ mount table, such as df, will skip rootfs entry.
+
+ However, some systems do not mount anything on /.
+ If you need to configure busybox for one of these systems,
+ you may find useful to turn this option off to make df show
+ initramfs statistic.
+
+ Otherwise, choose Y.
+
config MONOTONIC_SYSCALL
bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
default n
diff --git a/libbb/find_mount_point.c b/libbb/find_mount_point.c
index 361698a..56637ad 100644
--- a/libbb/find_mount_point.c
+++ b/libbb/find_mount_point.c
@@ -43,7 +43,7 @@ struct mntent* FAST_FUNC find_mount_point(const char *name, int subdir_too)
/* rootfs mount in Linux 2.6 exists always,
* and it makes sense to always ignore it.
* Otherwise people can't reference their "real" root! */
- if (strcmp(mountEntry->mnt_fsname, "rootfs") == 0)
+ if (ENABLE_FEATURE_SKIP_ROOTFS && strcmp(mountEntry->mnt_fsname, "rootfs") == 0)
continue;
if (strcmp(name, mountEntry->mnt_dir) == 0