| .. | .. |
|---|
| 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" |
|---|