~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/ABI/stable/sysfs-block

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php