#
# Block layer core configuration
#
config BLOCK
       bool "Enable the block layer" if EMBEDDED
       default y
       help
	 This permits the block layer to be removed from the kernel if it's not
	 needed (on some embedded devices for example).  If this option is
	 disabled, then blockdev files will become unusable and some
	 filesystems (such as ext3) will become unavailable.

	 This option will also disable SCSI character devices and USB storage
	 since they make use of various block layer definitions and
	 facilities.

	 Say Y here unless you know you really don't want to mount disks and
	 suchlike.

if BLOCK

config LBD
	bool "Support for Large Block Devices"
	depends on !64BIT
	help
	  Say Y here if you want to attach large (bigger than 2TB) discs to
	  your machine, or if you want to have a raid or loopback device
	  bigger than 2TB.  Otherwise say N.

config BLK_DEV_IO_TRACE
	bool "Support for tracing block io actions"
	depends on SYSFS
	select RELAY
	select DEBUG_FS
	help
	  Say Y here, if you want to be able to trace the block layer actions
	  on a given queue. Tracing allows you to see any traffic happening
	  on a block device queue. For more information (and the user space
	  support tools needed), fetch the blktrace app from:

	  git://brick.kernel.dk/data/git/blktrace.git

config LSF
	bool "Support for Large Single Files"
	depends on !64BIT
	help
	  Say Y here if you want to be able to handle very large files (bigger
	  than 2TB), otherwise say N.

	  If unsure, say Y.

endif

source block/Kconfig.iosched
