string: factorize skip_spaces and export it to be generally available
[safe/jmp/linux-2.6] / block / Kconfig
index 9678364..e20fbde 100644 (file)
 #
 # Block layer core configuration
 #
-#XXX - it makes sense to enable this only for 32-bit subarch's, not for x86_64
-#for instance.
-config LBD
-       bool "Support for Large Block Devices"
-       depends on X86 || (MIPS && 32BIT) || PPC32 || (S390 && !64BIT) || SUPERH || UML
+menuconfig BLOCK
+       bool "Enable the block layer" if EMBEDDED
+       default y
+       help
+        Provide block layer support for the kernel.
+
+        Disable this option to remove the block layer support from the
+        kernel. This may be useful for embedded devices.
+
+        If this option is disabled:
+
+          - block device files will become unusable
+          - some filesystems (such as ext3) will become unavailable.
+
+        Also, SCSI character devices and USB storage will be disabled 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 LBDAF
+       bool "Support for large (2TB+) block devices and files"
+       depends on !64BIT
+       default y
        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"
-       select RELAY
-       select DEBUG_FS
+         Enable block devices or files of size 2TB and larger.
+
+         This option is required to support the full capacity of large
+         (2TB+) block devices, including RAID, disk, Network Block Device,
+         Logical Volume Manager (LVM) and loopback.
+       
+         This option also enables support for single files larger than
+         2TB.
+
+         The ext4 filesystem requires that this feature be enabled in
+         order to support filesystems that have the huge_file feature
+         enabled.  Otherwise, it will refuse to mount in the read-write
+         mode any filesystems that use the huge_file feature, which is
+         enabled by default by mke2fs.ext4.
+
+         The GFS2 filesystem also requires this feature.
+
+         If unsure, say Y.
+
+config BLK_DEV_BSG
+       bool "Block layer SG support v4"
+       default y
        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:
+         Saying Y here will enable generic SG (SCSI generic) v4 support
+         for any block device.
+
+         Unlike SG v3 (aka block/scsi_ioctl.c drivers/scsi/sg.c), SG v4
+         can handle complicated SCSI commands: tagged variable length cdbs
+         with bidirectional data transfers and generic request/response
+         protocols (e.g. Task Management Functions and SMP in Serial
+         Attached SCSI).
+
+         This option is required by recent UDEV versions to properly
+         access device serial numbers, etc.
+
+         If unsure, say Y.
+
+config BLK_DEV_INTEGRITY
+       bool "Block layer data integrity support"
+       ---help---
+       Some storage devices allow extra information to be
+       stored/retrieved to help protect the data.  The block layer
+       data integrity option provides hooks which can be used by
+       filesystems to ensure better data integrity.
+
+       Say yes here if you have a storage device that provides the
+       T10/SCSI Data Integrity Field or the T13/ATA External Path
+       Protection.  If in doubt, say N.
+
+config BLK_CGROUP
+       bool
+       depends on CGROUPS
+       default n
+       ---help---
+       Generic block IO controller cgroup interface. This is the common
+       cgroup interface which should be used by various IO controlling
+       policies.
+
+       Currently, CFQ IO scheduler uses it to recognize task groups and
+       control disk bandwidth allocation (proportional time slice allocation)
+       to such task groups.
+
+config DEBUG_BLK_CGROUP
+       bool
+       depends on BLK_CGROUP
+       default n
+       ---help---
+       Enable some debugging help. Currently it stores the cgroup path
+       in the blk group which can be used by cfq for tracing various
+       group related activity.
+
+endif # BLOCK
 
-         git://brick.kernel.dk/data/git/blktrace.git
+config BLOCK_COMPAT
+       bool
+       depends on BLOCK && COMPAT
+       default y
 
 source block/Kconfig.iosched