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:
		
				
					committed by
					
						
						Denys Vlasenko
					
				
			
			
				
	
			
			
			
						parent
						
							625cfd87d9
						
					
				
				
					commit
					55ae0e9238
				
			@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user