.. | .. |
---|
26 | 26 | |
---|
27 | 27 | if BLOCK |
---|
28 | 28 | |
---|
29 | | -config LBDAF |
---|
30 | | - bool "Support for large (2TB+) block devices and files" |
---|
31 | | - depends on !64BIT |
---|
32 | | - default y |
---|
33 | | - help |
---|
34 | | - Enable block devices or files of size 2TB and larger. |
---|
35 | | - |
---|
36 | | - This option is required to support the full capacity of large |
---|
37 | | - (2TB+) block devices, including RAID, disk, Network Block Device, |
---|
38 | | - Logical Volume Manager (LVM) and loopback. |
---|
39 | | - |
---|
40 | | - This option also enables support for single files larger than |
---|
41 | | - 2TB. |
---|
42 | | - |
---|
43 | | - The ext4 filesystem requires that this feature be enabled in |
---|
44 | | - order to support filesystems that have the huge_file feature |
---|
45 | | - enabled. Otherwise, it will refuse to mount in the read-write |
---|
46 | | - mode any filesystems that use the huge_file feature, which is |
---|
47 | | - enabled by default by mke2fs.ext4. |
---|
48 | | - |
---|
49 | | - The GFS2 filesystem also requires this feature. |
---|
50 | | - |
---|
51 | | - If unsure, say Y. |
---|
| 29 | +config BLK_RQ_ALLOC_TIME |
---|
| 30 | + bool |
---|
52 | 31 | |
---|
53 | 32 | config BLK_SCSI_REQUEST |
---|
| 33 | + bool |
---|
| 34 | + |
---|
| 35 | +config BLK_CGROUP_RWSTAT |
---|
54 | 36 | bool |
---|
55 | 37 | |
---|
56 | 38 | config BLK_DEV_BSG |
---|
.. | .. |
---|
74 | 56 | |
---|
75 | 57 | config BLK_DEV_BSGLIB |
---|
76 | 58 | bool "Block layer SG support v4 helper lib" |
---|
77 | | - default n |
---|
78 | 59 | select BLK_DEV_BSG |
---|
79 | 60 | select BLK_SCSI_REQUEST |
---|
80 | 61 | help |
---|
.. | .. |
---|
85 | 66 | |
---|
86 | 67 | config BLK_DEV_INTEGRITY |
---|
87 | 68 | bool "Block layer data integrity support" |
---|
88 | | - select CRC_T10DIF if BLK_DEV_INTEGRITY |
---|
89 | | - ---help--- |
---|
| 69 | + help |
---|
90 | 70 | Some storage devices allow extra information to be |
---|
91 | 71 | stored/retrieved to help protect the data. The block layer |
---|
92 | 72 | data integrity option provides hooks which can be used by |
---|
.. | .. |
---|
96 | 76 | T10/SCSI Data Integrity Field or the T13/ATA External Path |
---|
97 | 77 | Protection. If in doubt, say N. |
---|
98 | 78 | |
---|
| 79 | +config BLK_DEV_INTEGRITY_T10 |
---|
| 80 | + tristate |
---|
| 81 | + depends on BLK_DEV_INTEGRITY |
---|
| 82 | + select CRC_T10DIF |
---|
| 83 | + |
---|
99 | 84 | config BLK_DEV_ZONED |
---|
100 | 85 | bool "Zoned block device support" |
---|
101 | | - ---help--- |
---|
| 86 | + select MQ_IOSCHED_DEADLINE |
---|
| 87 | + help |
---|
102 | 88 | Block layer zoned block device support. This option enables |
---|
103 | | - support for ZAC/ZBC host-managed and host-aware zoned block devices. |
---|
| 89 | + support for ZAC/ZBC/ZNS host-managed and host-aware zoned block |
---|
| 90 | + devices. |
---|
104 | 91 | |
---|
105 | | - Say yes here if you have a ZAC or ZBC storage device. |
---|
| 92 | + Say yes here if you have a ZAC, ZBC, or ZNS storage device. |
---|
106 | 93 | |
---|
107 | 94 | config BLK_DEV_THROTTLING |
---|
108 | 95 | bool "Block layer bio throttling support" |
---|
109 | 96 | depends on BLK_CGROUP=y |
---|
110 | | - default n |
---|
111 | | - ---help--- |
---|
| 97 | + select BLK_CGROUP_RWSTAT |
---|
| 98 | + help |
---|
112 | 99 | Block layer bio throttling support. It can be used to limit |
---|
113 | 100 | the IO rate to a device. IO rate policies are per cgroup and |
---|
114 | 101 | one needs to mount and use blkio cgroup controller for creating |
---|
115 | 102 | cgroups and specifying per device IO rate policies. |
---|
116 | 103 | |
---|
117 | | - See Documentation/cgroup-v1/blkio-controller.txt for more information. |
---|
| 104 | + See Documentation/admin-guide/cgroup-v1/blkio-controller.rst for more information. |
---|
118 | 105 | |
---|
119 | 106 | config BLK_DEV_THROTTLING_LOW |
---|
120 | 107 | bool "Block throttling .low limit interface support (EXPERIMENTAL)" |
---|
121 | 108 | depends on BLK_DEV_THROTTLING |
---|
122 | | - default n |
---|
123 | | - ---help--- |
---|
| 109 | + help |
---|
124 | 110 | Add .low limit interface for block throttling. The low limit is a best |
---|
125 | 111 | effort limit to prioritize cgroups. Depending on the setting, the limit |
---|
126 | 112 | can be used to protect cgroups in terms of bandwidth/iops and better |
---|
.. | .. |
---|
130 | 116 | |
---|
131 | 117 | config BLK_CMDLINE_PARSER |
---|
132 | 118 | bool "Block device command line partition parser" |
---|
133 | | - default n |
---|
134 | | - ---help--- |
---|
| 119 | + help |
---|
135 | 120 | Enabling this option allows you to specify the partition layout from |
---|
136 | 121 | the kernel boot args. This is typically of use for embedded devices |
---|
137 | 122 | which don't otherwise have any standardized method for listing the |
---|
138 | 123 | partitions on a block device. |
---|
139 | 124 | |
---|
140 | | - See Documentation/block/cmdline-partition.txt for more information. |
---|
| 125 | + See Documentation/block/cmdline-partition.rst for more information. |
---|
141 | 126 | |
---|
142 | 127 | config BLK_WBT |
---|
143 | 128 | bool "Enable support for block device writeback throttling" |
---|
144 | | - default n |
---|
145 | | - ---help--- |
---|
| 129 | + help |
---|
146 | 130 | Enabling this option enables the block layer to throttle buffered |
---|
147 | 131 | background writeback from the VM, making it more smooth and having |
---|
148 | 132 | less impact on foreground operations. The throttling is done |
---|
149 | 133 | dynamically on an algorithm loosely based on CoDel, factoring in |
---|
150 | 134 | the realtime performance of the disk. |
---|
151 | 135 | |
---|
| 136 | +config BLK_WBT_MQ |
---|
| 137 | + bool "Enable writeback throttling by default" |
---|
| 138 | + default y |
---|
| 139 | + depends on BLK_WBT |
---|
| 140 | + help |
---|
| 141 | + Enable writeback throttling by default for request-based block devices. |
---|
| 142 | + |
---|
152 | 143 | config BLK_CGROUP_IOLATENCY |
---|
153 | 144 | bool "Enable support for latency based cgroup IO protection" |
---|
154 | 145 | depends on BLK_CGROUP=y |
---|
155 | | - default n |
---|
156 | | - ---help--- |
---|
| 146 | + help |
---|
157 | 147 | Enabling this option enables the .latency interface for IO throttling. |
---|
158 | 148 | The IO controller will attempt to maintain average IO latencies below |
---|
159 | 149 | the configured latency target, throttling anybody with a higher latency |
---|
.. | .. |
---|
161 | 151 | |
---|
162 | 152 | Note, this is an experimental interface and could be changed someday. |
---|
163 | 153 | |
---|
164 | | -config BLK_WBT_SQ |
---|
165 | | - bool "Single queue writeback throttling" |
---|
166 | | - default n |
---|
167 | | - depends on BLK_WBT |
---|
168 | | - ---help--- |
---|
169 | | - Enable writeback throttling by default on legacy single queue devices |
---|
| 154 | +config BLK_CGROUP_IOCOST |
---|
| 155 | + bool "Enable support for cost model based cgroup IO controller" |
---|
| 156 | + depends on BLK_CGROUP=y |
---|
| 157 | + select BLK_RQ_IO_DATA_LEN |
---|
| 158 | + select BLK_RQ_ALLOC_TIME |
---|
| 159 | + help |
---|
| 160 | + Enabling this option enables the .weight interface for cost |
---|
| 161 | + model based proportional IO control. The IO controller |
---|
| 162 | + distributes IO capacity between different groups based on |
---|
| 163 | + their share of the overall weight distribution. |
---|
170 | 164 | |
---|
171 | | -config BLK_WBT_MQ |
---|
172 | | - bool "Multiqueue writeback throttling" |
---|
173 | | - default y |
---|
174 | | - depends on BLK_WBT |
---|
175 | | - ---help--- |
---|
176 | | - Enable writeback throttling by default on multiqueue devices. |
---|
177 | | - Multiqueue currently doesn't have support for IO scheduling, |
---|
178 | | - enabling this option is recommended. |
---|
| 165 | +config BLK_CGROUP_IOPRIO |
---|
| 166 | + bool "Cgroup I/O controller for assigning an I/O priority class" |
---|
| 167 | + depends on BLK_CGROUP |
---|
| 168 | + help |
---|
| 169 | + Enable the .prio interface for assigning an I/O priority class to |
---|
| 170 | + requests. The I/O priority class affects the order in which an I/O |
---|
| 171 | + scheduler and block devices process requests. Only some I/O schedulers |
---|
| 172 | + and some block devices support I/O priorities. |
---|
179 | 173 | |
---|
180 | 174 | config BLK_DEBUG_FS |
---|
181 | 175 | bool "Block layer debugging information in debugfs" |
---|
182 | 176 | default y |
---|
183 | 177 | depends on DEBUG_FS |
---|
184 | | - ---help--- |
---|
| 178 | + help |
---|
185 | 179 | Include block layer debugging information in debugfs. This information |
---|
186 | 180 | is mostly useful for kernel developers, but it doesn't incur any cost |
---|
187 | 181 | at runtime. |
---|
.. | .. |
---|
195 | 189 | |
---|
196 | 190 | config BLK_SED_OPAL |
---|
197 | 191 | bool "Logic for interfacing with Opal enabled SEDs" |
---|
198 | | - ---help--- |
---|
| 192 | + help |
---|
199 | 193 | Builds Logic for interfacing with Opal enabled controllers. |
---|
200 | 194 | Enabling this option enables users to setup/unlock/lock |
---|
201 | 195 | Locking ranges for SED devices using the Opal protocol. |
---|
.. | .. |
---|
211 | 205 | bool "Enable crypto API fallback for blk-crypto" |
---|
212 | 206 | depends on BLK_INLINE_ENCRYPTION |
---|
213 | 207 | select CRYPTO |
---|
214 | | - select CRYPTO_BLKCIPHER |
---|
| 208 | + select CRYPTO_SKCIPHER |
---|
215 | 209 | help |
---|
216 | 210 | Enabling this lets the block layer handle inline encryption |
---|
217 | 211 | by falling back to the kernel crypto API when inline |
---|
.. | .. |
---|
245 | 239 | depends on BLOCK && INFINIBAND |
---|
246 | 240 | default y |
---|
247 | 241 | |
---|
248 | | -source block/Kconfig.iosched |
---|
| 242 | +config BLK_PM |
---|
| 243 | + def_bool BLOCK && PM |
---|
| 244 | + |
---|
| 245 | +source "block/Kconfig.iosched" |
---|