[git commit master 1/1] df, find_mount_point: optionally don't ignore rootfs
Denys Vlasenko
vda.linux at googlemail.com
Mon Jan 31 05:27:35 UTC 2011
commit: http://git.busybox.net/busybox/commit/?id=55ae0e9238e1979f0200700ec5dbd0df8d32f7a2
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Lauri Kasanen <curaga at operamail.com>
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
coreutils/df.c | 2 +-
libbb/Config.src | 19 +++++++++++++++++++
libbb/find_mount_point.c | 2 +-
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
--
1.7.3.4
More information about the busybox-cvs
mailing list