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>
This commit is contained in:
Lauri Kasanen 2011-01-31 06:27:35 +01:00 committed by Denys Vlasenko
parent 625cfd87d9
commit 55ae0e9238
3 changed files with 21 additions and 2 deletions

View File

@ -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

View File

@ -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

View File

@ -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