block: Block layer data integrity support
[linux-2.6.git] / block / Kconfig
1 #
2 # Block layer core configuration
3 #
4 menuconfig BLOCK
5        bool "Enable the block layer" if EMBEDDED
6        default y
7        help
8          Provide block layer support for the kernel.
9
10          Disable this option to remove the block layer support from the
11          kernel. This may be useful for embedded devices.
12
13          If this option is disabled:
14
15            - block device files will become unusable
16            - some filesystems (such as ext3) will become unavailable.
17
18          Also, SCSI character devices and USB storage will be disabled since
19          they make use of various block layer definitions and facilities.
20
21          Say Y here unless you know you really don't want to mount disks and
22          suchlike.
23
24 if BLOCK
25
26 config LBD
27         bool "Support for Large Block Devices"
28         depends on !64BIT
29         help
30           Enable block devices of size 2TB and larger.
31
32           This option is required to support the full capacity of large
33           (2TB+) block devices, including RAID, disk, Network Block Device,
34           Logical Volume Manager (LVM) and loopback.
35
36           For example, RAID devices are frequently bigger than the capacity
37           of the largest individual hard drive.
38
39           This option is not required if you have individual disk drives
40           which total 2TB+ and you are not aggregating the capacity into
41           a large block device (e.g. using RAID or LVM).
42
43           If unsure, say N.
44
45 config BLK_DEV_IO_TRACE
46         bool "Support for tracing block io actions"
47         depends on SYSFS
48         select RELAY
49         select DEBUG_FS
50         help
51           Say Y here if you want to be able to trace the block layer actions
52           on a given queue. Tracing allows you to see any traffic happening
53           on a block device queue. For more information (and the userspace
54           support tools needed), fetch the blktrace tools from:
55
56           git://git.kernel.dk/blktrace.git
57
58           If unsure, say N.
59
60 config LSF
61         bool "Support for Large Single Files"
62         depends on !64BIT
63         help
64           Say Y here if you want to be able to handle very large files (2TB
65           and larger), otherwise say N.
66
67           If unsure, say Y.
68
69 config BLK_DEV_BSG
70         bool "Block layer SG support v4 (EXPERIMENTAL)"
71         depends on EXPERIMENTAL
72         ---help---
73           Saying Y here will enable generic SG (SCSI generic) v4 support
74           for any block device.
75
76           Unlike SG v3 (aka block/scsi_ioctl.c drivers/scsi/sg.c), SG v4
77           can handle complicated SCSI commands: tagged variable length cdbs
78           with bidirectional data transfers and generic request/response
79           protocols (e.g. Task Management Functions and SMP in Serial
80           Attached SCSI).
81
82           If unsure, say N.
83
84 config BLK_DEV_INTEGRITY
85         bool "Block layer data integrity support"
86         ---help---
87         Some storage devices allow extra information to be
88         stored/retrieved to help protect the data.  The block layer
89         data integrity option provides hooks which can be used by
90         filesystems to ensure better data integrity.
91
92         Say yes here if you have a storage device that provides the
93         T10/SCSI Data Integrity Field or the T13/ATA External Path
94         Protection.  If in doubt, say N.
95
96 endif # BLOCK
97
98 config BLOCK_COMPAT
99         bool
100         depends on BLOCK && COMPAT
101         default y
102
103 source block/Kconfig.iosched