1 What: /sys/block/<disk>/alignment_of 1 What: /sys/block/<disk>/alignment_offset 2 Date: April 2009 2 Date: April 2009 3 Contact: Martin K. Petersen <martin.pete 3 Contact: Martin K. Petersen <martin.petersen@oracle.com> 4 Description: 4 Description: 5 Storage devices may report a p 5 Storage devices may report a physical block size that is 6 bigger than the logical block 6 bigger than the logical block size (for instance a drive 7 with 4KB physical sectors expo 7 with 4KB physical sectors exposing 512-byte logical 8 blocks to the operating system 8 blocks to the operating system). This parameter 9 indicates how many bytes the b 9 indicates how many bytes the beginning of the device is 10 offset from the disk's natural 10 offset from the disk's natural alignment. 11 11 12 12 13 What: /sys/block/<disk>/discard_alig 13 What: /sys/block/<disk>/discard_alignment 14 Date: May 2011 14 Date: May 2011 15 Contact: Martin K. Petersen <martin.pete 15 Contact: Martin K. Petersen <martin.petersen@oracle.com> 16 Description: 16 Description: 17 Devices that support discard f 17 Devices that support discard functionality may 18 internally allocate space in u 18 internally allocate space in units that are bigger than 19 the exported logical block siz 19 the exported logical block size. The discard_alignment 20 parameter indicates how many b 20 parameter indicates how many bytes the beginning of the 21 device is offset from the inte 21 device is offset from the internal allocation unit's 22 natural alignment. 22 natural alignment. 23 23 24 What: /sys/block/<disk>/atomic_write << 25 Date: February 2024 << 26 Contact: Himanshu Madhani <himanshu.madh << 27 Description: << 28 [RO] This parameter specifies << 29 size reported by the device. T << 30 for merging of writes, where a << 31 operation must not exceed this << 32 This parameter may be greater << 33 atomic_write_unit_max_bytes as << 34 atomic_write_unit_max_bytes wi << 35 power-of-two and atomic_write_ << 36 limited by some other queue li << 37 This parameter - along with at << 38 and atomic_write_unit_max_byte << 39 max_hw_sectors_kb, but may be << 40 << 41 << 42 What: /sys/block/<disk>/atomic_write << 43 Date: February 2024 << 44 Contact: Himanshu Madhani <himanshu.madh << 45 Description: << 46 [RO] This parameter specifies << 47 be written atomically with an << 48 atomic write operations must b << 49 atomic_write_unit_min boundary << 50 atomic_write_unit_min. This va << 51 << 52 << 53 What: /sys/block/<disk>/atomic_write << 54 Date: February 2024 << 55 Contact: Himanshu Madhani <himanshu.madh << 56 Description: << 57 [RO] This parameter defines th << 58 written atomically with an ato << 59 value must be a multiple of at << 60 be a power-of-two. This value << 61 atomic_write_max_bytes. << 62 << 63 << 64 What: /sys/block/<disk>/atomic_write << 65 Date: February 2024 << 66 Contact: Himanshu Madhani <himanshu.madh << 67 Description: << 68 [RO] A device may need to inte << 69 which straddles a given logica << 70 parameter specifies the size i << 71 one is reported by the device. << 72 power-of-two and at least the << 73 atomic_write_unit_max_bytes. << 74 Any attempt to merge atomic wr << 75 merged I/O which crosses this << 76 << 77 24 78 What: /sys/block/<disk>/diskseq 25 What: /sys/block/<disk>/diskseq 79 Date: February 2021 26 Date: February 2021 80 Contact: Matteo Croce <mcroce@microsoft. 27 Contact: Matteo Croce <mcroce@microsoft.com> 81 Description: 28 Description: 82 The /sys/block/<disk>/diskseq 29 The /sys/block/<disk>/diskseq files reports the disk 83 sequence number, which is a mo 30 sequence number, which is a monotonically increasing 84 number assigned to every drive 31 number assigned to every drive. 85 Some devices, like the loop de 32 Some devices, like the loop device, refresh such number 86 every time the backing file is 33 every time the backing file is changed. 87 The value type is 64 bit unsig 34 The value type is 64 bit unsigned. 88 35 89 36 90 What: /sys/block/<disk>/inflight 37 What: /sys/block/<disk>/inflight 91 Date: October 2009 38 Date: October 2009 92 Contact: Jens Axboe <axboe@kernel.dk>, N 39 Contact: Jens Axboe <axboe@kernel.dk>, Nikanth Karthikesan <knikanth@suse.de> 93 Description: 40 Description: 94 Reports the number of I/O requ 41 Reports the number of I/O requests currently in progress 95 (pending / in flight) in a dev 42 (pending / in flight) in a device driver. This can be less 96 than the number of requests qu 43 than the number of requests queued in the block device queue. 97 The report contains 2 fields: 44 The report contains 2 fields: one for read requests 98 and one for write requests. 45 and one for write requests. 99 The value type is unsigned int 46 The value type is unsigned int. 100 Cf. Documentation/block/stat.r 47 Cf. Documentation/block/stat.rst which contains a single value for 101 requests in flight. 48 requests in flight. 102 This is related to /sys/block/ 49 This is related to /sys/block/<disk>/queue/nr_requests 103 and for SCSI device also its q 50 and for SCSI device also its queue_depth. 104 51 105 52 106 What: /sys/block/<disk>/integrity/de 53 What: /sys/block/<disk>/integrity/device_is_integrity_capable 107 Date: July 2014 54 Date: July 2014 108 Contact: Martin K. Petersen <martin.pete 55 Contact: Martin K. Petersen <martin.petersen@oracle.com> 109 Description: 56 Description: 110 Indicates whether a storage de 57 Indicates whether a storage device is capable of storing 111 integrity metadata. Set if the 58 integrity metadata. Set if the device is T10 PI-capable. 112 59 113 60 114 What: /sys/block/<disk>/integrity/fo 61 What: /sys/block/<disk>/integrity/format 115 Date: June 2008 62 Date: June 2008 116 Contact: Martin K. Petersen <martin.pete 63 Contact: Martin K. Petersen <martin.petersen@oracle.com> 117 Description: 64 Description: 118 Metadata format for integrity 65 Metadata format for integrity capable block device. 119 E.g. T10-DIF-TYPE1-CRC. 66 E.g. T10-DIF-TYPE1-CRC. 120 67 121 68 122 What: /sys/block/<disk>/integrity/pr 69 What: /sys/block/<disk>/integrity/protection_interval_bytes 123 Date: July 2015 70 Date: July 2015 124 Contact: Martin K. Petersen <martin.pete 71 Contact: Martin K. Petersen <martin.petersen@oracle.com> 125 Description: 72 Description: 126 Describes the number of data b 73 Describes the number of data bytes which are protected 127 by one integrity tuple. Typica 74 by one integrity tuple. Typically the device's logical 128 block size. 75 block size. 129 76 130 77 131 What: /sys/block/<disk>/integrity/re 78 What: /sys/block/<disk>/integrity/read_verify 132 Date: June 2008 79 Date: June 2008 133 Contact: Martin K. Petersen <martin.pete 80 Contact: Martin K. Petersen <martin.petersen@oracle.com> 134 Description: 81 Description: 135 Indicates whether the block la 82 Indicates whether the block layer should verify the 136 integrity of read requests ser 83 integrity of read requests serviced by devices that 137 support sending integrity meta 84 support sending integrity metadata. 138 85 139 86 140 What: /sys/block/<disk>/integrity/ta 87 What: /sys/block/<disk>/integrity/tag_size 141 Date: June 2008 88 Date: June 2008 142 Contact: Martin K. Petersen <martin.pete 89 Contact: Martin K. Petersen <martin.petersen@oracle.com> 143 Description: 90 Description: 144 Number of bytes of integrity t 91 Number of bytes of integrity tag space available per 145 512 bytes of data. 92 512 bytes of data. 146 93 147 94 148 What: /sys/block/<disk>/integrity/wr 95 What: /sys/block/<disk>/integrity/write_generate 149 Date: June 2008 96 Date: June 2008 150 Contact: Martin K. Petersen <martin.pete 97 Contact: Martin K. Petersen <martin.petersen@oracle.com> 151 Description: 98 Description: 152 Indicates whether the block la 99 Indicates whether the block layer should automatically 153 generate checksums for write r 100 generate checksums for write requests bound for 154 devices that support receiving 101 devices that support receiving integrity metadata. 155 102 156 103 157 What: /sys/block/<disk>/partscan << 158 Date: May 2024 << 159 Contact: Christoph Hellwig <hch@lst.de> << 160 Description: << 161 The /sys/block/<disk>/partscan << 162 scanning is enabled for the di << 163 scanning is enabled, or "0" if << 164 unsigned integer, but only "0" << 165 << 166 << 167 What: /sys/block/<disk>/<partition>/ 104 What: /sys/block/<disk>/<partition>/alignment_offset 168 Date: April 2009 105 Date: April 2009 169 Contact: Martin K. Petersen <martin.pete 106 Contact: Martin K. Petersen <martin.petersen@oracle.com> 170 Description: 107 Description: 171 Storage devices may report a p 108 Storage devices may report a physical block size that is 172 bigger than the logical block 109 bigger than the logical block size (for instance a drive 173 with 4KB physical sectors expo 110 with 4KB physical sectors exposing 512-byte logical 174 blocks to the operating system 111 blocks to the operating system). This parameter 175 indicates how many bytes the b 112 indicates how many bytes the beginning of the partition 176 is offset from the disk's natu 113 is offset from the disk's natural alignment. 177 114 178 115 179 What: /sys/block/<disk>/<partition>/ 116 What: /sys/block/<disk>/<partition>/discard_alignment 180 Date: May 2011 117 Date: May 2011 181 Contact: Martin K. Petersen <martin.pete 118 Contact: Martin K. Petersen <martin.petersen@oracle.com> 182 Description: 119 Description: 183 Devices that support discard f 120 Devices that support discard functionality may 184 internally allocate space in u 121 internally allocate space in units that are bigger than 185 the exported logical block siz 122 the exported logical block size. The discard_alignment 186 parameter indicates how many b 123 parameter indicates how many bytes the beginning of the 187 partition is offset from the i 124 partition is offset from the internal allocation unit's 188 natural alignment. 125 natural alignment. 189 126 190 127 191 What: /sys/block/<disk>/<partition>/ 128 What: /sys/block/<disk>/<partition>/stat 192 Date: February 2008 129 Date: February 2008 193 Contact: Jerome Marchand <jmarchan@redha 130 Contact: Jerome Marchand <jmarchan@redhat.com> 194 Description: 131 Description: 195 The /sys/block/<disk>/<partiti 132 The /sys/block/<disk>/<partition>/stat files display the 196 I/O statistics of partition <p 133 I/O statistics of partition <partition>. The format is the 197 same as the format of /sys/blo 134 same as the format of /sys/block/<disk>/stat. 198 135 199 136 200 What: /sys/block/<disk>/queue/add_ra 137 What: /sys/block/<disk>/queue/add_random 201 Date: June 2010 138 Date: June 2010 202 Contact: linux-block@vger.kernel.org 139 Contact: linux-block@vger.kernel.org 203 Description: 140 Description: 204 [RW] This file allows to turn 141 [RW] This file allows to turn off the disk entropy contribution. 205 Default value of this file is 142 Default value of this file is '1'(on). 206 143 207 144 208 What: /sys/block/<disk>/queue/chunk_ 145 What: /sys/block/<disk>/queue/chunk_sectors 209 Date: September 2016 146 Date: September 2016 210 Contact: Hannes Reinecke <hare@suse.com> 147 Contact: Hannes Reinecke <hare@suse.com> 211 Description: 148 Description: 212 [RO] chunk_sectors has differe 149 [RO] chunk_sectors has different meaning depending on the type 213 of the disk. For a RAID device 150 of the disk. For a RAID device (dm-raid), chunk_sectors 214 indicates the size in 512B sec 151 indicates the size in 512B sectors of the RAID volume stripe 215 segment. For a zoned block dev 152 segment. For a zoned block device, either host-aware or 216 host-managed, chunk_sectors in 153 host-managed, chunk_sectors indicates the size in 512B sectors 217 of the zones of the device, wi 154 of the zones of the device, with the eventual exception of the 218 last zone of the device which 155 last zone of the device which may be smaller. 219 156 220 157 221 What: /sys/block/<disk>/queue/crypto << 222 Date: February 2022 << 223 Contact: linux-block@vger.kernel.org << 224 Description: << 225 The presence of this subdirect << 226 indicates that the device supp << 227 subdirectory contains files wh << 228 capabilities of the device. F << 229 encryption, refer to Documenta << 230 << 231 << 232 What: /sys/block/<disk>/queue/crypto << 233 Date: February 2022 << 234 Contact: linux-block@vger.kernel.org << 235 Description: << 236 [RO] This file shows the maxim << 237 numbers accepted by the device << 238 << 239 << 240 What: /sys/block/<disk>/queue/crypto << 241 Date: February 2022 << 242 Contact: linux-block@vger.kernel.org << 243 Description: << 244 [RO] For each crypto mode (i.e << 245 algorithm) the device supports << 246 will exist at this location. << 247 number that is a bitmask of th << 248 bytes, for that crypto mode. << 249 << 250 Currently, the crypto modes th << 251 << 252 * AES-256-XTS << 253 * AES-128-CBC-ESSIV << 254 * Adiantum << 255 << 256 For example, if a device suppo << 257 with data unit sizes of 512 an << 258 /sys/block/<disk>/queue/crypto << 259 will contain "0x1200". << 260 << 261 << 262 What: /sys/block/<disk>/queue/crypto << 263 Date: February 2022 << 264 Contact: linux-block@vger.kernel.org << 265 Description: << 266 [RO] This file shows the numbe << 267 use with inline encryption. << 268 << 269 << 270 What: /sys/block/<disk>/queue/dax 158 What: /sys/block/<disk>/queue/dax 271 Date: June 2016 159 Date: June 2016 272 Contact: linux-block@vger.kernel.org 160 Contact: linux-block@vger.kernel.org 273 Description: 161 Description: 274 [RO] This file indicates wheth 162 [RO] This file indicates whether the device supports Direct 275 Access (DAX), used by CPU-addr 163 Access (DAX), used by CPU-addressable storage to bypass the 276 pagecache. It shows '1' if tr 164 pagecache. It shows '1' if true, '0' if not. 277 165 278 166 279 What: /sys/block/<disk>/queue/discar 167 What: /sys/block/<disk>/queue/discard_granularity 280 Date: May 2011 168 Date: May 2011 281 Contact: Martin K. Petersen <martin.pete 169 Contact: Martin K. Petersen <martin.petersen@oracle.com> 282 Description: 170 Description: 283 [RO] Devices that support disc 171 [RO] Devices that support discard functionality may internally 284 allocate space using units tha 172 allocate space using units that are bigger than the logical 285 block size. The discard_granul 173 block size. The discard_granularity parameter indicates the size 286 of the internal allocation uni 174 of the internal allocation unit in bytes if reported by the 287 device. Otherwise the discard_ 175 device. Otherwise the discard_granularity will be set to match 288 the device's physical block si 176 the device's physical block size. A discard_granularity of 0 289 means that the device does not 177 means that the device does not support discard functionality. 290 178 291 179 292 What: /sys/block/<disk>/queue/discar 180 What: /sys/block/<disk>/queue/discard_max_bytes 293 Date: May 2011 181 Date: May 2011 294 Contact: Martin K. Petersen <martin.pete 182 Contact: Martin K. Petersen <martin.petersen@oracle.com> 295 Description: 183 Description: 296 [RW] While discard_max_hw_byte 184 [RW] While discard_max_hw_bytes is the hardware limit for the 297 device, this setting is the so 185 device, this setting is the software limit. Some devices exhibit 298 large latencies when large dis 186 large latencies when large discards are issued, setting this 299 value lower will make Linux is 187 value lower will make Linux issue smaller discards and 300 potentially help reduce latenc 188 potentially help reduce latencies induced by large discard 301 operations. 189 operations. 302 190 303 191 304 What: /sys/block/<disk>/queue/discar 192 What: /sys/block/<disk>/queue/discard_max_hw_bytes 305 Date: July 2015 193 Date: July 2015 306 Contact: linux-block@vger.kernel.org 194 Contact: linux-block@vger.kernel.org 307 Description: 195 Description: 308 [RO] Devices that support disc 196 [RO] Devices that support discard functionality may have 309 internal limits on the number 197 internal limits on the number of bytes that can be trimmed or 310 unmapped in a single operation 198 unmapped in a single operation. The `discard_max_hw_bytes` 311 parameter is set by the device 199 parameter is set by the device driver to the maximum number of 312 bytes that can be discarded in 200 bytes that can be discarded in a single operation. Discard 313 requests issued to the device 201 requests issued to the device must not exceed this limit. A 314 `discard_max_hw_bytes` value o 202 `discard_max_hw_bytes` value of 0 means that the device does not 315 support discard functionality. 203 support discard functionality. 316 204 317 205 318 What: /sys/block/<disk>/queue/discar 206 What: /sys/block/<disk>/queue/discard_zeroes_data 319 Date: May 2011 207 Date: May 2011 320 Contact: Martin K. Petersen <martin.pete 208 Contact: Martin K. Petersen <martin.petersen@oracle.com> 321 Description: 209 Description: 322 [RO] Will always return 0. Do 210 [RO] Will always return 0. Don't rely on any specific behavior 323 for discards, and don't read t 211 for discards, and don't read this file. 324 212 325 213 326 What: /sys/block/<disk>/queue/dma_al << 327 Date: May 2022 << 328 Contact: linux-block@vger.kernel.org << 329 Description: << 330 Reports the alignment that use << 331 used for raw block device acce << 332 specific passthrough mechanism << 333 << 334 << 335 What: /sys/block/<disk>/queue/fua 214 What: /sys/block/<disk>/queue/fua 336 Date: May 2018 215 Date: May 2018 337 Contact: linux-block@vger.kernel.org 216 Contact: linux-block@vger.kernel.org 338 Description: 217 Description: 339 [RO] Whether or not the block 218 [RO] Whether or not the block driver supports the FUA flag for 340 write requests. FUA stands fo 219 write requests. FUA stands for Force Unit Access. If the FUA 341 flag is set that means that wr 220 flag is set that means that write requests must bypass the 342 volatile cache of the storage 221 volatile cache of the storage device. 343 222 344 223 345 What: /sys/block/<disk>/queue/hw_sec 224 What: /sys/block/<disk>/queue/hw_sector_size 346 Date: January 2008 225 Date: January 2008 347 Contact: linux-block@vger.kernel.org 226 Contact: linux-block@vger.kernel.org 348 Description: 227 Description: 349 [RO] This is the hardware sect 228 [RO] This is the hardware sector size of the device, in bytes. 350 229 351 230 352 What: /sys/block/<disk>/queue/indepe 231 What: /sys/block/<disk>/queue/independent_access_ranges/ 353 Date: October 2021 232 Date: October 2021 354 Contact: linux-block@vger.kernel.org 233 Contact: linux-block@vger.kernel.org 355 Description: 234 Description: 356 [RO] The presence of this sub- 235 [RO] The presence of this sub-directory of the 357 /sys/block/xxx/queue/ director 236 /sys/block/xxx/queue/ directory indicates that the device is 358 capable of executing requests 237 capable of executing requests targeting different sector ranges 359 in parallel. For instance, sin 238 in parallel. For instance, single LUN multi-actuator hard-disks 360 will have an independent_acces 239 will have an independent_access_ranges directory if the device 361 correctly advertises the secto !! 240 correctly advertizes the sector ranges of its actuators. 362 241 363 The independent_access_ranges 242 The independent_access_ranges directory contains one directory 364 per access range, with each ra 243 per access range, with each range described using the sector 365 (RO) attribute file to indicat 244 (RO) attribute file to indicate the first sector of the range 366 and the nr_sectors (RO) attrib 245 and the nr_sectors (RO) attribute file to indicate the total 367 number of sectors in the range 246 number of sectors in the range starting from the first sector of 368 the range. For example, a dua 247 the range. For example, a dual-actuator hard-disk will have the 369 following independent_access_r 248 following independent_access_ranges entries.:: 370 249 371 $ tree /sys/block/<dis 250 $ tree /sys/block/<disk>/queue/independent_access_ranges/ 372 /sys/block/<disk>/queu 251 /sys/block/<disk>/queue/independent_access_ranges/ 373 |-- 0 252 |-- 0 374 | |-- nr_sectors 253 | |-- nr_sectors 375 | `-- sector 254 | `-- sector 376 `-- 1 255 `-- 1 377 |-- nr_sectors 256 |-- nr_sectors 378 `-- sector 257 `-- sector 379 258 380 The sector and nr_sectors attr 259 The sector and nr_sectors attributes use 512B sector unit, 381 regardless of the actual block 260 regardless of the actual block size of the device. Independent 382 access ranges do not overlap a 261 access ranges do not overlap and include all sectors within the 383 device capacity. The access ra 262 device capacity. The access ranges are numbered in increasing 384 order of the range start secto 263 order of the range start sector, that is, the sector attribute 385 of range 0 always has the valu 264 of range 0 always has the value 0. 386 265 387 266 388 What: /sys/block/<disk>/queue/io_pol 267 What: /sys/block/<disk>/queue/io_poll 389 Date: November 2015 268 Date: November 2015 390 Contact: linux-block@vger.kernel.org 269 Contact: linux-block@vger.kernel.org 391 Description: 270 Description: 392 [RW] When read, this file show 271 [RW] When read, this file shows whether polling is enabled (1) 393 or disabled (0). Writing '0' 272 or disabled (0). Writing '0' to this file will disable polling 394 for this device. Writing any 273 for this device. Writing any non-zero value will enable this 395 feature. 274 feature. 396 275 397 276 398 What: /sys/block/<disk>/queue/io_pol 277 What: /sys/block/<disk>/queue/io_poll_delay 399 Date: November 2016 278 Date: November 2016 400 Contact: linux-block@vger.kernel.org 279 Contact: linux-block@vger.kernel.org 401 Description: 280 Description: 402 [RW] This was used to control !! 281 [RW] If polling is enabled, this controls what kind of polling 403 performed. It is now fixed to !! 282 will be performed. It defaults to -1, which is classic polling. 404 In this mode, the CPU will rep 283 In this mode, the CPU will repeatedly ask for completions 405 without giving up any time. !! 284 without giving up any time. If set to 0, a hybrid polling mode 406 <deprecated> !! 285 is used, where the kernel will attempt to make an educated guess >> 286 at when the IO will complete. Based on this guess, the kernel >> 287 will put the process issuing IO to sleep for an amount of time, >> 288 before entering a classic poll loop. This mode might be a little >> 289 slower than pure classic polling, but it will be more efficient. >> 290 If set to a value larger than 0, the kernel will put the process >> 291 issuing IO to sleep for this amount of microseconds before >> 292 entering classic polling. 407 293 408 294 409 What: /sys/block/<disk>/queue/io_tim 295 What: /sys/block/<disk>/queue/io_timeout 410 Date: November 2018 296 Date: November 2018 411 Contact: Weiping Zhang <zhangweiping@did 297 Contact: Weiping Zhang <zhangweiping@didiglobal.com> 412 Description: 298 Description: 413 [RW] io_timeout is the request 299 [RW] io_timeout is the request timeout in milliseconds. If a 414 request does not complete in t 300 request does not complete in this time then the block driver 415 timeout handler is invoked. Th 301 timeout handler is invoked. That timeout handler can decide to 416 retry the request, to fail it 302 retry the request, to fail it or to start a device recovery 417 strategy. 303 strategy. 418 304 419 305 420 What: /sys/block/<disk>/queue/iostat 306 What: /sys/block/<disk>/queue/iostats 421 Date: January 2009 307 Date: January 2009 422 Contact: linux-block@vger.kernel.org 308 Contact: linux-block@vger.kernel.org 423 Description: 309 Description: 424 [RW] This file is used to cont 310 [RW] This file is used to control (on/off) the iostats 425 accounting of the disk. 311 accounting of the disk. 426 312 427 313 428 What: /sys/block/<disk>/queue/logica 314 What: /sys/block/<disk>/queue/logical_block_size 429 Date: May 2009 315 Date: May 2009 430 Contact: Martin K. Petersen <martin.pete 316 Contact: Martin K. Petersen <martin.petersen@oracle.com> 431 Description: 317 Description: 432 [RO] This is the smallest unit 318 [RO] This is the smallest unit the storage device can address. 433 It is typically 512 bytes. 319 It is typically 512 bytes. 434 320 435 321 436 What: /sys/block/<disk>/queue/max_ac 322 What: /sys/block/<disk>/queue/max_active_zones 437 Date: July 2020 323 Date: July 2020 438 Contact: Niklas Cassel <niklas.cassel@wd 324 Contact: Niklas Cassel <niklas.cassel@wdc.com> 439 Description: 325 Description: 440 [RO] For zoned block devices ( 326 [RO] For zoned block devices (zoned attribute indicating 441 "host-managed" or "host-aware" 327 "host-managed" or "host-aware"), the sum of zones belonging to 442 any of the zone states: EXPLIC 328 any of the zone states: EXPLICIT OPEN, IMPLICIT OPEN or CLOSED, 443 is limited by this value. If t 329 is limited by this value. If this value is 0, there is no limit. 444 330 445 If the host attempts to exceed 331 If the host attempts to exceed this limit, the driver should 446 report this error with BLK_STS 332 report this error with BLK_STS_ZONE_ACTIVE_RESOURCE, which user 447 space may see as the EOVERFLOW 333 space may see as the EOVERFLOW errno. 448 334 449 335 450 What: /sys/block/<disk>/queue/max_di 336 What: /sys/block/<disk>/queue/max_discard_segments 451 Date: February 2017 337 Date: February 2017 452 Contact: linux-block@vger.kernel.org 338 Contact: linux-block@vger.kernel.org 453 Description: 339 Description: 454 [RO] The maximum number of DMA 340 [RO] The maximum number of DMA scatter/gather entries in a 455 discard request. 341 discard request. 456 342 457 343 458 What: /sys/block/<disk>/queue/max_hw 344 What: /sys/block/<disk>/queue/max_hw_sectors_kb 459 Date: September 2004 345 Date: September 2004 460 Contact: linux-block@vger.kernel.org 346 Contact: linux-block@vger.kernel.org 461 Description: 347 Description: 462 [RO] This is the maximum numbe 348 [RO] This is the maximum number of kilobytes supported in a 463 single data transfer. 349 single data transfer. 464 350 465 351 466 What: /sys/block/<disk>/queue/max_in 352 What: /sys/block/<disk>/queue/max_integrity_segments 467 Date: September 2010 353 Date: September 2010 468 Contact: linux-block@vger.kernel.org 354 Contact: linux-block@vger.kernel.org 469 Description: 355 Description: 470 [RO] Maximum number of element 356 [RO] Maximum number of elements in a DMA scatter/gather list 471 with integrity data that will 357 with integrity data that will be submitted by the block layer 472 core to the associated block d 358 core to the associated block driver. 473 359 474 360 475 What: /sys/block/<disk>/queue/max_op 361 What: /sys/block/<disk>/queue/max_open_zones 476 Date: July 2020 362 Date: July 2020 477 Contact: Niklas Cassel <niklas.cassel@wd 363 Contact: Niklas Cassel <niklas.cassel@wdc.com> 478 Description: 364 Description: 479 [RO] For zoned block devices ( 365 [RO] For zoned block devices (zoned attribute indicating 480 "host-managed" or "host-aware" 366 "host-managed" or "host-aware"), the sum of zones belonging to 481 any of the zone states: EXPLIC 367 any of the zone states: EXPLICIT OPEN or IMPLICIT OPEN, is 482 limited by this value. If this 368 limited by this value. If this value is 0, there is no limit. 483 369 484 370 485 What: /sys/block/<disk>/queue/max_se 371 What: /sys/block/<disk>/queue/max_sectors_kb 486 Date: September 2004 372 Date: September 2004 487 Contact: linux-block@vger.kernel.org 373 Contact: linux-block@vger.kernel.org 488 Description: 374 Description: 489 [RW] This is the maximum numbe 375 [RW] This is the maximum number of kilobytes that the block 490 layer will allow for a filesys 376 layer will allow for a filesystem request. Must be smaller than 491 or equal to the maximum size a !! 377 or equal to the maximum size allowed by the hardware. 492 to use default kernel settings << 493 378 494 379 495 What: /sys/block/<disk>/queue/max_se 380 What: /sys/block/<disk>/queue/max_segment_size 496 Date: March 2010 381 Date: March 2010 497 Contact: linux-block@vger.kernel.org 382 Contact: linux-block@vger.kernel.org 498 Description: 383 Description: 499 [RO] Maximum size in bytes of 384 [RO] Maximum size in bytes of a single element in a DMA 500 scatter/gather list. 385 scatter/gather list. 501 386 502 387 503 What: /sys/block/<disk>/queue/max_se 388 What: /sys/block/<disk>/queue/max_segments 504 Date: March 2010 389 Date: March 2010 505 Contact: linux-block@vger.kernel.org 390 Contact: linux-block@vger.kernel.org 506 Description: 391 Description: 507 [RO] Maximum number of element 392 [RO] Maximum number of elements in a DMA scatter/gather list 508 that is submitted to the assoc 393 that is submitted to the associated block driver. 509 394 510 395 511 What: /sys/block/<disk>/queue/minimu 396 What: /sys/block/<disk>/queue/minimum_io_size 512 Date: April 2009 397 Date: April 2009 513 Contact: Martin K. Petersen <martin.pete 398 Contact: Martin K. Petersen <martin.petersen@oracle.com> 514 Description: 399 Description: 515 [RO] Storage devices may repor 400 [RO] Storage devices may report a granularity or preferred 516 minimum I/O size which is the 401 minimum I/O size which is the smallest request the device can 517 perform without incurring a pe 402 perform without incurring a performance penalty. For disk 518 drives this is often the physi 403 drives this is often the physical block size. For RAID arrays 519 it is often the stripe chunk s 404 it is often the stripe chunk size. A properly aligned multiple 520 of minimum_io_size is the pref 405 of minimum_io_size is the preferred request size for workloads 521 where a high number of I/O ope 406 where a high number of I/O operations is desired. 522 407 523 408 524 What: /sys/block/<disk>/queue/nomerg 409 What: /sys/block/<disk>/queue/nomerges 525 Date: January 2010 410 Date: January 2010 526 Contact: linux-block@vger.kernel.org 411 Contact: linux-block@vger.kernel.org 527 Description: 412 Description: 528 [RW] Standard I/O elevator ope 413 [RW] Standard I/O elevator operations include attempts to merge 529 contiguous I/Os. For known ran 414 contiguous I/Os. For known random I/O loads these attempts will 530 always fail and result in extr 415 always fail and result in extra cycles being spent in the 531 kernel. This allows one to tur 416 kernel. This allows one to turn off this behavior on one of two 532 ways: When set to 1, complex m 417 ways: When set to 1, complex merge checks are disabled, but the 533 simple one-shot merges with th 418 simple one-shot merges with the previous I/O request are 534 enabled. When set to 2, all me 419 enabled. When set to 2, all merge tries are disabled. The 535 default value is 0 - which ena 420 default value is 0 - which enables all types of merge tries. 536 421 537 422 538 What: /sys/block/<disk>/queue/nr_req 423 What: /sys/block/<disk>/queue/nr_requests 539 Date: July 2003 424 Date: July 2003 540 Contact: linux-block@vger.kernel.org 425 Contact: linux-block@vger.kernel.org 541 Description: 426 Description: 542 [RW] This controls how many re 427 [RW] This controls how many requests may be allocated in the 543 block layer for read or write 428 block layer for read or write requests. Note that the total 544 allocated number may be twice 429 allocated number may be twice this amount, since it applies only 545 to reads or writes (not the ac 430 to reads or writes (not the accumulated sum). 546 431 547 To avoid priority inversion th 432 To avoid priority inversion through request starvation, a 548 request queue maintains a sepa 433 request queue maintains a separate request pool per each cgroup 549 when CONFIG_BLK_CGROUP is enab 434 when CONFIG_BLK_CGROUP is enabled, and this parameter applies to 550 each such per-block-cgroup req 435 each such per-block-cgroup request pool. IOW, if there are N 551 block cgroups, each request qu 436 block cgroups, each request queue may have up to N request 552 pools, each independently regu 437 pools, each independently regulated by nr_requests. 553 438 554 439 555 What: /sys/block/<disk>/queue/nr_zon 440 What: /sys/block/<disk>/queue/nr_zones 556 Date: November 2018 441 Date: November 2018 557 Contact: Damien Le Moal <damien.lemoal@w 442 Contact: Damien Le Moal <damien.lemoal@wdc.com> 558 Description: 443 Description: 559 [RO] nr_zones indicates the to 444 [RO] nr_zones indicates the total number of zones of a zoned 560 block device ("host-aware" or 445 block device ("host-aware" or "host-managed" zone model). For 561 regular block devices, the val 446 regular block devices, the value is always 0. 562 447 563 448 564 What: /sys/block/<disk>/queue/optima 449 What: /sys/block/<disk>/queue/optimal_io_size 565 Date: April 2009 450 Date: April 2009 566 Contact: Martin K. Petersen <martin.pete 451 Contact: Martin K. Petersen <martin.petersen@oracle.com> 567 Description: 452 Description: 568 [RO] Storage devices may repor 453 [RO] Storage devices may report an optimal I/O size, which is 569 the device's preferred unit fo 454 the device's preferred unit for sustained I/O. This is rarely 570 reported for disk drives. For 455 reported for disk drives. For RAID arrays it is usually the 571 stripe width or the internal t 456 stripe width or the internal track size. A properly aligned 572 multiple of optimal_io_size is 457 multiple of optimal_io_size is the preferred request size for 573 workloads where sustained thro 458 workloads where sustained throughput is desired. If no optimal 574 I/O size is reported this file 459 I/O size is reported this file contains 0. 575 460 576 461 577 What: /sys/block/<disk>/queue/physic 462 What: /sys/block/<disk>/queue/physical_block_size 578 Date: May 2009 463 Date: May 2009 579 Contact: Martin K. Petersen <martin.pete 464 Contact: Martin K. Petersen <martin.petersen@oracle.com> 580 Description: 465 Description: 581 [RO] This is the smallest unit 466 [RO] This is the smallest unit a physical storage device can 582 write atomically. It is usual 467 write atomically. It is usually the same as the logical block 583 size but may be bigger. One e 468 size but may be bigger. One example is SATA drives with 4KB 584 sectors that expose a 512-byte 469 sectors that expose a 512-byte logical block size to the 585 operating system. For stacked 470 operating system. For stacked block devices the 586 physical_block_size variable c 471 physical_block_size variable contains the maximum 587 physical_block_size of the com 472 physical_block_size of the component devices. 588 473 589 474 590 What: /sys/block/<disk>/queue/read_a 475 What: /sys/block/<disk>/queue/read_ahead_kb 591 Date: May 2004 476 Date: May 2004 592 Contact: linux-block@vger.kernel.org 477 Contact: linux-block@vger.kernel.org 593 Description: 478 Description: 594 [RW] Maximum number of kilobyt 479 [RW] Maximum number of kilobytes to read-ahead for filesystems 595 on this block device. 480 on this block device. 596 481 597 482 598 What: /sys/block/<disk>/queue/rotati 483 What: /sys/block/<disk>/queue/rotational 599 Date: January 2009 484 Date: January 2009 600 Contact: linux-block@vger.kernel.org 485 Contact: linux-block@vger.kernel.org 601 Description: 486 Description: 602 [RW] This file is used to stat 487 [RW] This file is used to stat if the device is of rotational 603 type or non-rotational type. 488 type or non-rotational type. 604 489 605 490 606 What: /sys/block/<disk>/queue/rq_aff 491 What: /sys/block/<disk>/queue/rq_affinity 607 Date: September 2008 492 Date: September 2008 608 Contact: linux-block@vger.kernel.org 493 Contact: linux-block@vger.kernel.org 609 Description: 494 Description: 610 [RW] If this option is '1', th 495 [RW] If this option is '1', the block layer will migrate request 611 completions to the cpu "group" 496 completions to the cpu "group" that originally submitted the 612 request. For some workloads th 497 request. For some workloads this provides a significant 613 reduction in CPU cycles due to 498 reduction in CPU cycles due to caching effects. 614 499 615 For storage configurations tha 500 For storage configurations that need to maximize distribution of 616 completion processing setting 501 completion processing setting this option to '2' forces the 617 completion to run on the reque 502 completion to run on the requesting cpu (bypassing the "group" 618 aggregation logic). 503 aggregation logic). 619 504 620 505 621 What: /sys/block/<disk>/queue/schedu 506 What: /sys/block/<disk>/queue/scheduler 622 Date: October 2004 507 Date: October 2004 623 Contact: linux-block@vger.kernel.org 508 Contact: linux-block@vger.kernel.org 624 Description: 509 Description: 625 [RW] When read, this file will 510 [RW] When read, this file will display the current and available 626 IO schedulers for this block d 511 IO schedulers for this block device. The currently active IO 627 scheduler will be enclosed in 512 scheduler will be enclosed in [] brackets. Writing an IO 628 scheduler name to this file wi 513 scheduler name to this file will switch control of this block 629 device to that new IO schedule 514 device to that new IO scheduler. Note that writing an IO 630 scheduler name to this file wi 515 scheduler name to this file will attempt to load that IO 631 scheduler module, if it isn't 516 scheduler module, if it isn't already present in the system. 632 517 633 518 634 What: /sys/block/<disk>/queue/stable 519 What: /sys/block/<disk>/queue/stable_writes 635 Date: September 2020 520 Date: September 2020 636 Contact: linux-block@vger.kernel.org 521 Contact: linux-block@vger.kernel.org 637 Description: 522 Description: 638 [RW] This file will contain '1 523 [RW] This file will contain '1' if memory must not be modified 639 while it is being used in a wr 524 while it is being used in a write request to this device. When 640 this is the case and the kerne 525 this is the case and the kernel is performing writeback of a 641 page, the kernel will wait for 526 page, the kernel will wait for writeback to complete before 642 allowing the page to be modifi 527 allowing the page to be modified again, rather than allowing 643 immediate modification as is n 528 immediate modification as is normally the case. This 644 restriction arises when the de 529 restriction arises when the device accesses the memory multiple 645 times where the same data must 530 times where the same data must be seen every time -- for 646 example, once to calculate a c 531 example, once to calculate a checksum and once to actually write 647 the data. If no such restrict 532 the data. If no such restriction exists, this file will contain 648 '0'. This file is writable fo 533 '0'. This file is writable for testing purposes. 649 534 >> 535 >> 536 What: /sys/block/<disk>/queue/throttle_sample_time >> 537 Date: March 2017 >> 538 Contact: linux-block@vger.kernel.org >> 539 Description: >> 540 [RW] This is the time window that blk-throttle samples data, in >> 541 millisecond. blk-throttle makes decision based on the >> 542 samplings. Lower time means cgroups have more smooth throughput, >> 543 but higher CPU overhead. This exists only when >> 544 CONFIG_BLK_DEV_THROTTLING_LOW is enabled. >> 545 >> 546 650 What: /sys/block/<disk>/queue/virt_b 547 What: /sys/block/<disk>/queue/virt_boundary_mask 651 Date: April 2021 548 Date: April 2021 652 Contact: linux-block@vger.kernel.org 549 Contact: linux-block@vger.kernel.org 653 Description: 550 Description: 654 [RO] This file shows the I/O s 551 [RO] This file shows the I/O segment memory alignment mask for 655 the block device. I/O request 552 the block device. I/O requests to this device will be split 656 between segments wherever eith 553 between segments wherever either the memory address of the end 657 of the previous segment or the 554 of the previous segment or the memory address of the beginning 658 of the current segment is not 555 of the current segment is not aligned to virt_boundary_mask + 1 659 bytes. 556 bytes. 660 557 661 558 662 What: /sys/block/<disk>/queue/wbt_la 559 What: /sys/block/<disk>/queue/wbt_lat_usec 663 Date: November 2016 560 Date: November 2016 664 Contact: linux-block@vger.kernel.org 561 Contact: linux-block@vger.kernel.org 665 Description: 562 Description: 666 [RW] If the device is register 563 [RW] If the device is registered for writeback throttling, then 667 this file shows the target min 564 this file shows the target minimum read latency. If this latency 668 is exceeded in a given window 565 is exceeded in a given window of time (see wb_window_usec), then 669 the writeback throttling will 566 the writeback throttling will start scaling back writes. Writing 670 a value of '0' to this file di 567 a value of '0' to this file disables the feature. Writing a 671 value of '-1' to this file res 568 value of '-1' to this file resets the value to the default 672 setting. 569 setting. 673 570 674 571 675 What: /sys/block/<disk>/queue/write_ 572 What: /sys/block/<disk>/queue/write_cache 676 Date: April 2016 573 Date: April 2016 677 Contact: linux-block@vger.kernel.org 574 Contact: linux-block@vger.kernel.org 678 Description: 575 Description: 679 [RW] When read, this file will 576 [RW] When read, this file will display whether the device has 680 write back caching enabled or 577 write back caching enabled or not. It will return "write back" 681 for the former case, and "writ 578 for the former case, and "write through" for the latter. Writing 682 to this file can change the ke 579 to this file can change the kernels view of the device, but it 683 doesn't alter the device state 580 doesn't alter the device state. This means that it might not be 684 safe to toggle the setting fro 581 safe to toggle the setting from "write back" to "write through", 685 since that will also eliminate 582 since that will also eliminate cache flushes issued by the 686 kernel. 583 kernel. 687 584 688 585 689 What: /sys/block/<disk>/queue/write_ 586 What: /sys/block/<disk>/queue/write_same_max_bytes 690 Date: January 2012 587 Date: January 2012 691 Contact: Martin K. Petersen <martin.pete 588 Contact: Martin K. Petersen <martin.petersen@oracle.com> 692 Description: 589 Description: 693 [RO] Some devices support a wr 590 [RO] Some devices support a write same operation in which a 694 single data block can be writt 591 single data block can be written to a range of several 695 contiguous blocks on storage. 592 contiguous blocks on storage. This can be used to wipe areas on 696 disk or to initialize drives i 593 disk or to initialize drives in a RAID configuration. 697 write_same_max_bytes indicates 594 write_same_max_bytes indicates how many bytes can be written in 698 a single write same command. I 595 a single write same command. If write_same_max_bytes is 0, write 699 same is not supported by the d 596 same is not supported by the device. 700 597 701 598 702 What: /sys/block/<disk>/queue/write_ 599 What: /sys/block/<disk>/queue/write_zeroes_max_bytes 703 Date: November 2016 600 Date: November 2016 704 Contact: Chaitanya Kulkarni <chaitanya.k 601 Contact: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> 705 Description: 602 Description: 706 [RO] Devices that support writ 603 [RO] Devices that support write zeroes operation in which a 707 single request can be issued t 604 single request can be issued to zero out the range of contiguous 708 blocks on storage without havi 605 blocks on storage without having any payload in the request. 709 This can be used to optimize w 606 This can be used to optimize writing zeroes to the devices. 710 write_zeroes_max_bytes indicat 607 write_zeroes_max_bytes indicates how many bytes can be written 711 in a single write zeroes comma 608 in a single write zeroes command. If write_zeroes_max_bytes is 712 0, write zeroes is not support 609 0, write zeroes is not supported by the device. 713 610 714 611 715 What: /sys/block/<disk>/queue/zone_a 612 What: /sys/block/<disk>/queue/zone_append_max_bytes 716 Date: May 2020 613 Date: May 2020 717 Contact: linux-block@vger.kernel.org 614 Contact: linux-block@vger.kernel.org 718 Description: 615 Description: 719 [RO] This is the maximum numbe 616 [RO] This is the maximum number of bytes that can be written to 720 a sequential zone of a zoned b 617 a sequential zone of a zoned block device using a zone append 721 write operation (REQ_OP_ZONE_A 618 write operation (REQ_OP_ZONE_APPEND). This value is always 0 for 722 regular block devices. 619 regular block devices. 723 620 724 621 725 What: /sys/block/<disk>/queue/zone_w 622 What: /sys/block/<disk>/queue/zone_write_granularity 726 Date: January 2021 623 Date: January 2021 727 Contact: linux-block@vger.kernel.org 624 Contact: linux-block@vger.kernel.org 728 Description: 625 Description: 729 [RO] This indicates the alignm 626 [RO] This indicates the alignment constraint, in bytes, for 730 write operations in sequential 627 write operations in sequential zones of zoned block devices 731 (devices with a zoned attribut 628 (devices with a zoned attributed that reports "host-managed" or 732 "host-aware"). This value is a 629 "host-aware"). This value is always 0 for regular block devices. 733 630 734 631 735 What: /sys/block/<disk>/queue/zoned 632 What: /sys/block/<disk>/queue/zoned 736 Date: September 2016 633 Date: September 2016 737 Contact: Damien Le Moal <damien.lemoal@w 634 Contact: Damien Le Moal <damien.lemoal@wdc.com> 738 Description: 635 Description: 739 [RO] zoned indicates if the de 636 [RO] zoned indicates if the device is a zoned block device and 740 the zone model of the device i 637 the zone model of the device if it is indeed zoned. The 741 possible values indicated by z 638 possible values indicated by zoned are "none" for regular block 742 devices and "host-aware" or "h 639 devices and "host-aware" or "host-managed" for zoned block 743 devices. The characteristics o 640 devices. The characteristics of host-aware and host-managed 744 zoned block devices are descri 641 zoned block devices are described in the ZBC (Zoned Block 745 Commands) and ZAC (Zoned Devic 642 Commands) and ZAC (Zoned Device ATA Command Set) standards. 746 These standards also define th 643 These standards also define the "drive-managed" zone model. 747 However, since drive-managed z 644 However, since drive-managed zoned block devices do not support 748 zone commands, they will be tr 645 zone commands, they will be treated as regular block devices and 749 zoned will report "none". 646 zoned will report "none". 750 << 751 << 752 What: /sys/block/<disk>/hidden << 753 Date: March 2023 << 754 Contact: linux-block@vger.kernel.org << 755 Description: << 756 [RO] the block device is hidde << 757 can’t be opened from userspa << 758 Used for the underlying compon << 759 647 760 648 761 What: /sys/block/<disk>/stat 649 What: /sys/block/<disk>/stat 762 Date: February 2008 650 Date: February 2008 763 Contact: Jerome Marchand <jmarchan@redha 651 Contact: Jerome Marchand <jmarchan@redhat.com> 764 Description: 652 Description: 765 The /sys/block/<disk>/stat fil 653 The /sys/block/<disk>/stat files displays the I/O 766 statistics of disk <disk>. The 654 statistics of disk <disk>. They contain 11 fields: 767 655 768 == ========================== 656 == ============================================== 769 1 reads completed successful 657 1 reads completed successfully 770 2 reads merged 658 2 reads merged 771 3 sectors read 659 3 sectors read 772 4 time spent reading (ms) 660 4 time spent reading (ms) 773 5 writes completed 661 5 writes completed 774 6 writes merged 662 6 writes merged 775 7 sectors written 663 7 sectors written 776 8 time spent writing (ms) 664 8 time spent writing (ms) 777 9 I/Os currently in progress 665 9 I/Os currently in progress 778 10 time spent doing I/Os (ms) 666 10 time spent doing I/Os (ms) 779 11 weighted time spent doing 667 11 weighted time spent doing I/Os (ms) 780 12 discards completed 668 12 discards completed 781 13 discards merged 669 13 discards merged 782 14 sectors discarded 670 14 sectors discarded 783 15 time spent discarding (ms) 671 15 time spent discarding (ms) 784 16 flush requests completed 672 16 flush requests completed 785 17 time spent flushing (ms) 673 17 time spent flushing (ms) 786 == ========================== 674 == ============================================== 787 675 788 For more details refer Documen 676 For more details refer Documentation/admin-guide/iostats.rst
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.