| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | config XFS_FS | 
					
						
							|  |  |  | 	tristate "XFS filesystem support" | 
					
						
							| 
									
										
											  
											
												[PATCH] BLOCK: Make it possible to disable the block layer [try #6]
Make it possible to disable the block layer.  Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
 (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
     support.
 (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
     an item that uses the block layer.  This includes:
     (*) Block I/O tracing.
     (*) Disk partition code.
     (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
     (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the
     	 block layer to do scheduling.  Some drivers that use SCSI facilities -
     	 such as USB storage - end up disabled indirectly from this.
     (*) Various block-based device drivers, such as IDE and the old CDROM
     	 drivers.
     (*) MTD blockdev handling and FTL.
     (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
     	 taking a leaf out of JFFS2's book.
 (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
     linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,
     however, still used in places, and so is still available.
 (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
     parts of linux/fs.h.
 (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
 (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
 (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
     is not enabled.
 (*) fs/no-block.c is created to hold out-of-line stubs and things that are
     required when CONFIG_BLOCK is not set:
     (*) Default blockdev file operations (to give error ENODEV on opening).
 (*) Makes some /proc changes:
     (*) /proc/devices does not list any blockdevs.
     (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
 (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
 (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
     given command other than Q_SYNC or if a special device is specified.
 (*) In init/do_mounts.c, no reference is made to the blockdev routines if
     CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.
 (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
     error ENOSYS by way of cond_syscall if so).
 (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
     CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
											
										 
											2006-09-30 20:45:40 +02:00
										 |  |  | 	depends on BLOCK | 
					
						
							| 
									
										
										
										
											2014-07-30 09:12:05 +10:00
										 |  |  | 	depends on (64BIT || LBDAF) | 
					
						
							| 
									
										
										
										
											2009-01-19 02:02:57 +01:00
										 |  |  | 	select EXPORTFS | 
					
						
							| 
									
										
										
										
											2012-11-16 09:20:37 +11:00
										 |  |  | 	select LIBCRC32C | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	help | 
					
						
							|  |  |  | 	  XFS is a high performance journaling filesystem which originated | 
					
						
							|  |  |  | 	  on the SGI IRIX platform.  It is completely multi-threaded, can | 
					
						
							|  |  |  | 	  support large files and large filesystems, extended attributes, | 
					
						
							|  |  |  | 	  variable block sizes, is extent based, and makes extensive use of | 
					
						
							|  |  |  | 	  Btrees (directories, extents, free space) to aid both performance | 
					
						
							|  |  |  | 	  and scalability. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  Refer to the documentation at <http://oss.sgi.com/projects/xfs/> | 
					
						
							|  |  |  | 	  for complete details.  This implementation is on-disk compatible | 
					
						
							|  |  |  | 	  with the IRIX version of XFS. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  To compile this file system support as a module, choose M here: the | 
					
						
							|  |  |  | 	  module will be called xfs.  Be aware, however, that if the file | 
					
						
							|  |  |  | 	  system of your root partition is compiled as a module, you'll need | 
					
						
							|  |  |  | 	  to use an initial ramdisk (initrd) to boot. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config XFS_QUOTA | 
					
						
							| 
									
										
										
										
											2005-11-03 13:55:06 +11:00
										 |  |  | 	bool "XFS Quota support" | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	depends on XFS_FS | 
					
						
							| 
									
										
										
										
											2010-08-17 12:14:44 +02:00
										 |  |  | 	select QUOTACTL | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	help | 
					
						
							|  |  |  | 	  If you say Y here, you will be able to set limits for disk usage on | 
					
						
							|  |  |  | 	  a per user and/or a per group basis under XFS.  XFS considers quota | 
					
						
							|  |  |  | 	  information as filesystem metadata and uses journaling to provide a | 
					
						
							|  |  |  | 	  higher level guarantee of consistency.  The on-disk data format for | 
					
						
							|  |  |  | 	  quota is also compatible with the IRIX version of XFS, allowing a | 
					
						
							|  |  |  | 	  filesystem to be migrated between Linux and IRIX without any need | 
					
						
							|  |  |  | 	  for conversion. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  If unsure, say N.  More comprehensive documentation can be found in | 
					
						
							|  |  |  | 	  README.quota in the xfsprogs package.  XFS quota can be used either | 
					
						
							|  |  |  | 	  with or without the generic quota support enabled (CONFIG_QUOTA) - | 
					
						
							|  |  |  | 	  they are completely independent subsystems. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | config XFS_POSIX_ACL | 
					
						
							| 
									
										
										
										
											2005-09-08 15:34:58 +10:00
										 |  |  | 	bool "XFS POSIX ACL support" | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	depends on XFS_FS | 
					
						
							| 
									
										
										
										
											2009-06-10 17:07:47 +02:00
										 |  |  | 	select FS_POSIX_ACL | 
					
						
							| 
									
										
										
										
											2005-04-16 15:20:36 -07:00
										 |  |  | 	help | 
					
						
							|  |  |  | 	  POSIX Access Control Lists (ACLs) support permissions for users and | 
					
						
							|  |  |  | 	  groups beyond the owner/group/world scheme. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  To learn more about Access Control Lists, visit the POSIX ACLs for | 
					
						
							|  |  |  | 	  Linux website <http://acl.bestbits.at/>. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  If you don't know what Access Control Lists are, say N. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2005-09-08 15:34:58 +10:00
										 |  |  | config XFS_RT | 
					
						
							| 
									
										
										
										
											2006-06-13 16:28:11 +10:00
										 |  |  | 	bool "XFS Realtime subvolume support" | 
					
						
							|  |  |  | 	depends on XFS_FS | 
					
						
							| 
									
										
										
										
											2005-09-08 15:34:58 +10:00
										 |  |  | 	help | 
					
						
							|  |  |  | 	  If you say Y here you will be able to mount and use XFS filesystems | 
					
						
							| 
									
										
										
										
											2006-06-13 16:28:11 +10:00
										 |  |  | 	  which contain a realtime subvolume.  The realtime subvolume is a | 
					
						
							|  |  |  | 	  separate area of disk space where only file data is stored.  It was | 
					
						
							|  |  |  | 	  originally designed to provide deterministic data rates suitable | 
					
						
							|  |  |  | 	  for media streaming applications, but is also useful as a generic | 
					
						
							|  |  |  | 	  mechanism for ensuring data and metadata/log I/Os are completely | 
					
						
							|  |  |  | 	  separated.  Regular file I/Os are isolated to a separate device | 
					
						
							|  |  |  | 	  from all other requests, and this can be done quite transparently | 
					
						
							|  |  |  | 	  to applications via the inherit-realtime directory inode flag. | 
					
						
							| 
									
										
										
										
											2005-09-08 15:34:58 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2006-06-13 16:28:11 +10:00
										 |  |  | 	  See the xfs man page in section 5 for additional information. | 
					
						
							| 
									
										
										
										
											2005-09-08 15:34:58 +10:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	  If unsure, say N. | 
					
						
							| 
									
										
										
										
											2008-04-21 17:22:27 +10:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-04-30 21:39:34 +10:00
										 |  |  | config XFS_WARN | 
					
						
							|  |  |  | 	bool "XFS Verbose Warnings" | 
					
						
							|  |  |  | 	depends on XFS_FS && !XFS_DEBUG | 
					
						
							|  |  |  | 	help | 
					
						
							|  |  |  | 	  Say Y here to get an XFS build with many additional warnings. | 
					
						
							|  |  |  | 	  It converts ASSERT checks to WARN, so will log any out-of-bounds | 
					
						
							|  |  |  | 	  conditions that occur that would otherwise be missed. It is much | 
					
						
							|  |  |  | 	  lighter weight than XFS_DEBUG and does not modify algorithms and will | 
					
						
							|  |  |  | 	  not cause the kernel to panic on non-fatal errors. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  However, similar to XFS_DEBUG, it is only advisable to use this if you | 
					
						
							|  |  |  | 	  are debugging a particular problem. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-04-21 17:22:27 +10:00
										 |  |  | config XFS_DEBUG | 
					
						
							| 
									
										
										
										
											2012-10-02 11:19:27 -07:00
										 |  |  | 	bool "XFS Debugging support" | 
					
						
							|  |  |  | 	depends on XFS_FS | 
					
						
							| 
									
										
										
										
											2008-04-21 17:22:27 +10:00
										 |  |  | 	help | 
					
						
							|  |  |  | 	  Say Y here to get an XFS build with many debugging features, | 
					
						
							|  |  |  | 	  including ASSERT checks, function wrappers around macros, | 
					
						
							|  |  |  | 	  and extra sanity-checking functions in various code paths. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  Note that the resulting code will be HUGE and SLOW, and probably | 
					
						
							|  |  |  | 	  not useful unless you are debugging a particular problem. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	  Say N unless you are an XFS developer, or you play one on TV. |