xref: /linux/Documentation/ABI/stable/sysfs-block (revision 9da3d1e912f3953196e66991d75208cde3e845e1)
107c9093cSEric BiggersWhat:		/sys/block/<disk>/alignment_offset
207c9093cSEric BiggersDate:		April 2009
307c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
407c9093cSEric BiggersDescription:
507c9093cSEric Biggers		Storage devices may report a physical block size that is
607c9093cSEric Biggers		bigger than the logical block size (for instance a drive
707c9093cSEric Biggers		with 4KB physical sectors exposing 512-byte logical
807c9093cSEric Biggers		blocks to the operating system).  This parameter
907c9093cSEric Biggers		indicates how many bytes the beginning of the device is
1007c9093cSEric Biggers		offset from the disk's natural alignment.
1107c9093cSEric Biggers
1207c9093cSEric Biggers
1307c9093cSEric BiggersWhat:		/sys/block/<disk>/discard_alignment
1407c9093cSEric BiggersDate:		May 2011
1507c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
1607c9093cSEric BiggersDescription:
1707c9093cSEric Biggers		Devices that support discard functionality may
1807c9093cSEric Biggers		internally allocate space in units that are bigger than
1907c9093cSEric Biggers		the exported logical block size. The discard_alignment
2007c9093cSEric Biggers		parameter indicates how many bytes the beginning of the
2107c9093cSEric Biggers		device is offset from the internal allocation unit's
2207c9093cSEric Biggers		natural alignment.
2307c9093cSEric Biggers
24*9da3d1e9SJohn GarryWhat:		/sys/block/<disk>/atomic_write_max_bytes
25*9da3d1e9SJohn GarryDate:		February 2024
26*9da3d1e9SJohn GarryContact:	Himanshu Madhani <himanshu.madhani@oracle.com>
27*9da3d1e9SJohn GarryDescription:
28*9da3d1e9SJohn Garry		[RO] This parameter specifies the maximum atomic write
29*9da3d1e9SJohn Garry		size reported by the device. This parameter is relevant
30*9da3d1e9SJohn Garry		for merging of writes, where a merged atomic write
31*9da3d1e9SJohn Garry		operation must not exceed this number of bytes.
32*9da3d1e9SJohn Garry		This parameter may be greater than the value in
33*9da3d1e9SJohn Garry		atomic_write_unit_max_bytes as
34*9da3d1e9SJohn Garry		atomic_write_unit_max_bytes will be rounded down to a
35*9da3d1e9SJohn Garry		power-of-two and atomic_write_unit_max_bytes may also be
36*9da3d1e9SJohn Garry		limited by some other queue limits, such as max_segments.
37*9da3d1e9SJohn Garry		This parameter - along with atomic_write_unit_min_bytes
38*9da3d1e9SJohn Garry		and atomic_write_unit_max_bytes - will not be larger than
39*9da3d1e9SJohn Garry		max_hw_sectors_kb, but may be larger than max_sectors_kb.
40*9da3d1e9SJohn Garry
41*9da3d1e9SJohn Garry
42*9da3d1e9SJohn GarryWhat:		/sys/block/<disk>/atomic_write_unit_min_bytes
43*9da3d1e9SJohn GarryDate:		February 2024
44*9da3d1e9SJohn GarryContact:	Himanshu Madhani <himanshu.madhani@oracle.com>
45*9da3d1e9SJohn GarryDescription:
46*9da3d1e9SJohn Garry		[RO] This parameter specifies the smallest block which can
47*9da3d1e9SJohn Garry		be written atomically with an atomic write operation. All
48*9da3d1e9SJohn Garry		atomic write operations must begin at a
49*9da3d1e9SJohn Garry		atomic_write_unit_min boundary and must be multiples of
50*9da3d1e9SJohn Garry		atomic_write_unit_min. This value must be a power-of-two.
51*9da3d1e9SJohn Garry
52*9da3d1e9SJohn Garry
53*9da3d1e9SJohn GarryWhat:		/sys/block/<disk>/atomic_write_unit_max_bytes
54*9da3d1e9SJohn GarryDate:		February 2024
55*9da3d1e9SJohn GarryContact:	Himanshu Madhani <himanshu.madhani@oracle.com>
56*9da3d1e9SJohn GarryDescription:
57*9da3d1e9SJohn Garry		[RO] This parameter defines the largest block which can be
58*9da3d1e9SJohn Garry		written atomically with an atomic write operation. This
59*9da3d1e9SJohn Garry		value must be a multiple of atomic_write_unit_min and must
60*9da3d1e9SJohn Garry		be a power-of-two. This value will not be larger than
61*9da3d1e9SJohn Garry		atomic_write_max_bytes.
62*9da3d1e9SJohn Garry
63*9da3d1e9SJohn Garry
64*9da3d1e9SJohn GarryWhat:		/sys/block/<disk>/atomic_write_boundary_bytes
65*9da3d1e9SJohn GarryDate:		February 2024
66*9da3d1e9SJohn GarryContact:	Himanshu Madhani <himanshu.madhani@oracle.com>
67*9da3d1e9SJohn GarryDescription:
68*9da3d1e9SJohn Garry		[RO] A device may need to internally split an atomic write I/O
69*9da3d1e9SJohn Garry		which straddles a given logical block address boundary. This
70*9da3d1e9SJohn Garry		parameter specifies the size in bytes of the atomic boundary if
71*9da3d1e9SJohn Garry		one is reported by the device. This value must be a
72*9da3d1e9SJohn Garry		power-of-two and at least the size as in
73*9da3d1e9SJohn Garry		atomic_write_unit_max_bytes.
74*9da3d1e9SJohn Garry		Any attempt to merge atomic write I/Os must not result in a
75*9da3d1e9SJohn Garry		merged I/O which crosses this boundary (if any).
76*9da3d1e9SJohn Garry
7707c9093cSEric Biggers
7807c9093cSEric BiggersWhat:		/sys/block/<disk>/diskseq
7907c9093cSEric BiggersDate:		February 2021
8007c9093cSEric BiggersContact:	Matteo Croce <mcroce@microsoft.com>
8107c9093cSEric BiggersDescription:
8207c9093cSEric Biggers		The /sys/block/<disk>/diskseq files reports the disk
8307c9093cSEric Biggers		sequence number, which is a monotonically increasing
8407c9093cSEric Biggers		number assigned to every drive.
8507c9093cSEric Biggers		Some devices, like the loop device, refresh such number
8607c9093cSEric Biggers		every time the backing file is changed.
8707c9093cSEric Biggers		The value type is 64 bit unsigned.
8807c9093cSEric Biggers
8907c9093cSEric Biggers
9007c9093cSEric BiggersWhat:		/sys/block/<disk>/inflight
9107c9093cSEric BiggersDate:		October 2009
9207c9093cSEric BiggersContact:	Jens Axboe <axboe@kernel.dk>, Nikanth Karthikesan <knikanth@suse.de>
9307c9093cSEric BiggersDescription:
9407c9093cSEric Biggers		Reports the number of I/O requests currently in progress
9507c9093cSEric Biggers		(pending / in flight) in a device driver. This can be less
9607c9093cSEric Biggers		than the number of requests queued in the block device queue.
9707c9093cSEric Biggers		The report contains 2 fields: one for read requests
9807c9093cSEric Biggers		and one for write requests.
9907c9093cSEric Biggers		The value type is unsigned int.
10007c9093cSEric Biggers		Cf. Documentation/block/stat.rst which contains a single value for
10107c9093cSEric Biggers		requests in flight.
102849ab826SEric Biggers		This is related to /sys/block/<disk>/queue/nr_requests
10307c9093cSEric Biggers		and for SCSI device also its queue_depth.
10407c9093cSEric Biggers
10507c9093cSEric Biggers
10607c9093cSEric BiggersWhat:		/sys/block/<disk>/integrity/device_is_integrity_capable
10707c9093cSEric BiggersDate:		July 2014
10807c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
10907c9093cSEric BiggersDescription:
11007c9093cSEric Biggers		Indicates whether a storage device is capable of storing
11107c9093cSEric Biggers		integrity metadata. Set if the device is T10 PI-capable.
11207c9093cSEric Biggers
11307c9093cSEric Biggers
11407c9093cSEric BiggersWhat:		/sys/block/<disk>/integrity/format
11507c9093cSEric BiggersDate:		June 2008
11607c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
11707c9093cSEric BiggersDescription:
11807c9093cSEric Biggers		Metadata format for integrity capable block device.
11907c9093cSEric Biggers		E.g. T10-DIF-TYPE1-CRC.
12007c9093cSEric Biggers
12107c9093cSEric Biggers
12207c9093cSEric BiggersWhat:		/sys/block/<disk>/integrity/protection_interval_bytes
12307c9093cSEric BiggersDate:		July 2015
12407c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
12507c9093cSEric BiggersDescription:
12607c9093cSEric Biggers		Describes the number of data bytes which are protected
12707c9093cSEric Biggers		by one integrity tuple. Typically the device's logical
12807c9093cSEric Biggers		block size.
12907c9093cSEric Biggers
13007c9093cSEric Biggers
13107c9093cSEric BiggersWhat:		/sys/block/<disk>/integrity/read_verify
13207c9093cSEric BiggersDate:		June 2008
13307c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
13407c9093cSEric BiggersDescription:
13507c9093cSEric Biggers		Indicates whether the block layer should verify the
13607c9093cSEric Biggers		integrity of read requests serviced by devices that
13707c9093cSEric Biggers		support sending integrity metadata.
13807c9093cSEric Biggers
13907c9093cSEric Biggers
14007c9093cSEric BiggersWhat:		/sys/block/<disk>/integrity/tag_size
14107c9093cSEric BiggersDate:		June 2008
14207c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
14307c9093cSEric BiggersDescription:
14407c9093cSEric Biggers		Number of bytes of integrity tag space available per
14507c9093cSEric Biggers		512 bytes of data.
14607c9093cSEric Biggers
14707c9093cSEric Biggers
14807c9093cSEric BiggersWhat:		/sys/block/<disk>/integrity/write_generate
14907c9093cSEric BiggersDate:		June 2008
15007c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
15107c9093cSEric BiggersDescription:
15207c9093cSEric Biggers		Indicates whether the block layer should automatically
15307c9093cSEric Biggers		generate checksums for write requests bound for
15407c9093cSEric Biggers		devices that support receiving integrity metadata.
15507c9093cSEric Biggers
15607c9093cSEric Biggers
157a4217c67SChristoph HellwigWhat:		/sys/block/<disk>/partscan
158a4217c67SChristoph HellwigDate:		May 2024
159a4217c67SChristoph HellwigContact:	Christoph Hellwig <hch@lst.de>
160a4217c67SChristoph HellwigDescription:
161a4217c67SChristoph Hellwig		The /sys/block/<disk>/partscan files reports if partition
162a4217c67SChristoph Hellwig		scanning is enabled for the disk.  It returns "1" if partition
163a4217c67SChristoph Hellwig		scanning is enabled, or "0" if not.  The value type is a 32-bit
164a4217c67SChristoph Hellwig		unsigned integer, but only "0" and "1" are valid values.
165a4217c67SChristoph Hellwig
166a4217c67SChristoph Hellwig
16707c9093cSEric BiggersWhat:		/sys/block/<disk>/<partition>/alignment_offset
16807c9093cSEric BiggersDate:		April 2009
16907c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
17007c9093cSEric BiggersDescription:
17107c9093cSEric Biggers		Storage devices may report a physical block size that is
17207c9093cSEric Biggers		bigger than the logical block size (for instance a drive
17307c9093cSEric Biggers		with 4KB physical sectors exposing 512-byte logical
17407c9093cSEric Biggers		blocks to the operating system).  This parameter
17507c9093cSEric Biggers		indicates how many bytes the beginning of the partition
17607c9093cSEric Biggers		is offset from the disk's natural alignment.
17707c9093cSEric Biggers
17807c9093cSEric Biggers
17907c9093cSEric BiggersWhat:		/sys/block/<disk>/<partition>/discard_alignment
18007c9093cSEric BiggersDate:		May 2011
18107c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
18207c9093cSEric BiggersDescription:
18307c9093cSEric Biggers		Devices that support discard functionality may
18407c9093cSEric Biggers		internally allocate space in units that are bigger than
18507c9093cSEric Biggers		the exported logical block size. The discard_alignment
18607c9093cSEric Biggers		parameter indicates how many bytes the beginning of the
18707c9093cSEric Biggers		partition is offset from the internal allocation unit's
18807c9093cSEric Biggers		natural alignment.
18907c9093cSEric Biggers
19007c9093cSEric Biggers
19107c9093cSEric BiggersWhat:		/sys/block/<disk>/<partition>/stat
19207c9093cSEric BiggersDate:		February 2008
19307c9093cSEric BiggersContact:	Jerome Marchand <jmarchan@redhat.com>
19407c9093cSEric BiggersDescription:
19507c9093cSEric Biggers		The /sys/block/<disk>/<partition>/stat files display the
19607c9093cSEric Biggers		I/O statistics of partition <partition>. The format is the
19707c9093cSEric Biggers		same as the format of /sys/block/<disk>/stat.
19807c9093cSEric Biggers
19907c9093cSEric Biggers
200849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/add_random
201849ab826SEric BiggersDate:		June 2010
202849ab826SEric BiggersContact:	linux-block@vger.kernel.org
203849ab826SEric BiggersDescription:
204849ab826SEric Biggers		[RW] This file allows to turn off the disk entropy contribution.
205849ab826SEric Biggers		Default value of this file is '1'(on).
206849ab826SEric Biggers
207849ab826SEric Biggers
20807c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/chunk_sectors
20907c9093cSEric BiggersDate:		September 2016
21007c9093cSEric BiggersContact:	Hannes Reinecke <hare@suse.com>
21107c9093cSEric BiggersDescription:
212849ab826SEric Biggers		[RO] chunk_sectors has different meaning depending on the type
21307c9093cSEric Biggers		of the disk. For a RAID device (dm-raid), chunk_sectors
214849ab826SEric Biggers		indicates the size in 512B sectors of the RAID volume stripe
215849ab826SEric Biggers		segment. For a zoned block device, either host-aware or
216849ab826SEric Biggers		host-managed, chunk_sectors indicates the size in 512B sectors
217849ab826SEric Biggers		of the zones of the device, with the eventual exception of the
218849ab826SEric Biggers		last zone of the device which may be smaller.
219849ab826SEric Biggers
220849ab826SEric Biggers
22120f01f16SEric BiggersWhat:		/sys/block/<disk>/queue/crypto/
22220f01f16SEric BiggersDate:		February 2022
22320f01f16SEric BiggersContact:	linux-block@vger.kernel.org
22420f01f16SEric BiggersDescription:
22520f01f16SEric Biggers		The presence of this subdirectory of /sys/block/<disk>/queue/
22620f01f16SEric Biggers		indicates that the device supports inline encryption.  This
22720f01f16SEric Biggers		subdirectory contains files which describe the inline encryption
22820f01f16SEric Biggers		capabilities of the device.  For more information about inline
22920f01f16SEric Biggers		encryption, refer to Documentation/block/inline-encryption.rst.
23020f01f16SEric Biggers
23120f01f16SEric Biggers
23220f01f16SEric BiggersWhat:		/sys/block/<disk>/queue/crypto/max_dun_bits
23320f01f16SEric BiggersDate:		February 2022
23420f01f16SEric BiggersContact:	linux-block@vger.kernel.org
23520f01f16SEric BiggersDescription:
23620f01f16SEric Biggers		[RO] This file shows the maximum length, in bits, of data unit
23720f01f16SEric Biggers		numbers accepted by the device in inline encryption requests.
23820f01f16SEric Biggers
23920f01f16SEric Biggers
24020f01f16SEric BiggersWhat:		/sys/block/<disk>/queue/crypto/modes/<mode>
24120f01f16SEric BiggersDate:		February 2022
24220f01f16SEric BiggersContact:	linux-block@vger.kernel.org
24320f01f16SEric BiggersDescription:
24420f01f16SEric Biggers		[RO] For each crypto mode (i.e., encryption/decryption
24520f01f16SEric Biggers		algorithm) the device supports with inline encryption, a file
24620f01f16SEric Biggers		will exist at this location.  It will contain a hexadecimal
24720f01f16SEric Biggers		number that is a bitmask of the supported data unit sizes, in
24820f01f16SEric Biggers		bytes, for that crypto mode.
24920f01f16SEric Biggers
25020f01f16SEric Biggers		Currently, the crypto modes that may be supported are:
25120f01f16SEric Biggers
25220f01f16SEric Biggers		   * AES-256-XTS
25320f01f16SEric Biggers		   * AES-128-CBC-ESSIV
25420f01f16SEric Biggers		   * Adiantum
25520f01f16SEric Biggers
25620f01f16SEric Biggers		For example, if a device supports AES-256-XTS inline encryption
25720f01f16SEric Biggers		with data unit sizes of 512 and 4096 bytes, the file
25820f01f16SEric Biggers		/sys/block/<disk>/queue/crypto/modes/AES-256-XTS will exist and
25920f01f16SEric Biggers		will contain "0x1200".
26020f01f16SEric Biggers
26120f01f16SEric Biggers
26220f01f16SEric BiggersWhat:		/sys/block/<disk>/queue/crypto/num_keyslots
26320f01f16SEric BiggersDate:		February 2022
26420f01f16SEric BiggersContact:	linux-block@vger.kernel.org
26520f01f16SEric BiggersDescription:
26620f01f16SEric Biggers		[RO] This file shows the number of keyslots the device has for
26720f01f16SEric Biggers		use with inline encryption.
26820f01f16SEric Biggers
26920f01f16SEric Biggers
270849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/dax
271849ab826SEric BiggersDate:		June 2016
272849ab826SEric BiggersContact:	linux-block@vger.kernel.org
273849ab826SEric BiggersDescription:
274849ab826SEric Biggers		[RO] This file indicates whether the device supports Direct
275849ab826SEric Biggers		Access (DAX), used by CPU-addressable storage to bypass the
276849ab826SEric Biggers		pagecache.  It shows '1' if true, '0' if not.
27707c9093cSEric Biggers
27807c9093cSEric Biggers
27907c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/discard_granularity
28007c9093cSEric BiggersDate:		May 2011
28107c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
28207c9093cSEric BiggersDescription:
283849ab826SEric Biggers		[RO] Devices that support discard functionality may internally
284849ab826SEric Biggers		allocate space using units that are bigger than the logical
285849ab826SEric Biggers		block size. The discard_granularity parameter indicates the size
286849ab826SEric Biggers		of the internal allocation unit in bytes if reported by the
287849ab826SEric Biggers		device. Otherwise the discard_granularity will be set to match
288849ab826SEric Biggers		the device's physical block size. A discard_granularity of 0
289849ab826SEric Biggers		means that the device does not support discard functionality.
29007c9093cSEric Biggers
29107c9093cSEric Biggers
29207c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/discard_max_bytes
29307c9093cSEric BiggersDate:		May 2011
29407c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
29507c9093cSEric BiggersDescription:
296849ab826SEric Biggers		[RW] While discard_max_hw_bytes is the hardware limit for the
297849ab826SEric Biggers		device, this setting is the software limit. Some devices exhibit
298849ab826SEric Biggers		large latencies when large discards are issued, setting this
299849ab826SEric Biggers		value lower will make Linux issue smaller discards and
300849ab826SEric Biggers		potentially help reduce latencies induced by large discard
301849ab826SEric Biggers		operations.
302849ab826SEric Biggers
303849ab826SEric Biggers
304849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/discard_max_hw_bytes
305849ab826SEric BiggersDate:		July 2015
306849ab826SEric BiggersContact:	linux-block@vger.kernel.org
307849ab826SEric BiggersDescription:
308849ab826SEric Biggers		[RO] Devices that support discard functionality may have
309849ab826SEric Biggers		internal limits on the number of bytes that can be trimmed or
310849ab826SEric Biggers		unmapped in a single operation.  The `discard_max_hw_bytes`
311849ab826SEric Biggers		parameter is set by the device driver to the maximum number of
312849ab826SEric Biggers		bytes that can be discarded in a single operation.  Discard
313849ab826SEric Biggers		requests issued to the device must not exceed this limit.  A
314849ab826SEric Biggers		`discard_max_hw_bytes` value of 0 means that the device does not
315849ab826SEric Biggers		support discard functionality.
31607c9093cSEric Biggers
31707c9093cSEric Biggers
31807c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/discard_zeroes_data
31907c9093cSEric BiggersDate:		May 2011
32007c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
32107c9093cSEric BiggersDescription:
322849ab826SEric Biggers		[RO] Will always return 0.  Don't rely on any specific behavior
32307c9093cSEric Biggers		for discards, and don't read this file.
32407c9093cSEric Biggers
32507c9093cSEric Biggers
3263850e13fSKeith BuschWhat:		/sys/block/<disk>/queue/dma_alignment
3273850e13fSKeith BuschDate:		May 2022
3283850e13fSKeith BuschContact:	linux-block@vger.kernel.org
3293850e13fSKeith BuschDescription:
3303850e13fSKeith Busch		Reports the alignment that user space addresses must have to be
3313850e13fSKeith Busch		used for raw block device access with O_DIRECT and other driver
3323850e13fSKeith Busch		specific passthrough mechanisms.
3333850e13fSKeith Busch
3343850e13fSKeith Busch
335849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/fua
336849ab826SEric BiggersDate:		May 2018
337849ab826SEric BiggersContact:	linux-block@vger.kernel.org
338849ab826SEric BiggersDescription:
339849ab826SEric Biggers		[RO] Whether or not the block driver supports the FUA flag for
340849ab826SEric Biggers		write requests.  FUA stands for Force Unit Access. If the FUA
341849ab826SEric Biggers		flag is set that means that write requests must bypass the
342849ab826SEric Biggers		volatile cache of the storage device.
343849ab826SEric Biggers
344849ab826SEric Biggers
345849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/hw_sector_size
346849ab826SEric BiggersDate:		January 2008
347849ab826SEric BiggersContact:	linux-block@vger.kernel.org
348849ab826SEric BiggersDescription:
349849ab826SEric Biggers		[RO] This is the hardware sector size of the device, in bytes.
350849ab826SEric Biggers
351849ab826SEric Biggers
352849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/independent_access_ranges/
353849ab826SEric BiggersDate:		October 2021
354849ab826SEric BiggersContact:	linux-block@vger.kernel.org
355849ab826SEric BiggersDescription:
356849ab826SEric Biggers		[RO] The presence of this sub-directory of the
357849ab826SEric Biggers		/sys/block/xxx/queue/ directory indicates that the device is
358849ab826SEric Biggers		capable of executing requests targeting different sector ranges
359849ab826SEric Biggers		in parallel. For instance, single LUN multi-actuator hard-disks
360849ab826SEric Biggers		will have an independent_access_ranges directory if the device
361ebab9426SBjorn Helgaas		correctly advertises the sector ranges of its actuators.
362849ab826SEric Biggers
363849ab826SEric Biggers		The independent_access_ranges directory contains one directory
364849ab826SEric Biggers		per access range, with each range described using the sector
365849ab826SEric Biggers		(RO) attribute file to indicate the first sector of the range
366849ab826SEric Biggers		and the nr_sectors (RO) attribute file to indicate the total
367849ab826SEric Biggers		number of sectors in the range starting from the first sector of
368849ab826SEric Biggers		the range.  For example, a dual-actuator hard-disk will have the
369849ab826SEric Biggers		following independent_access_ranges entries.::
370849ab826SEric Biggers
371849ab826SEric Biggers			$ tree /sys/block/<disk>/queue/independent_access_ranges/
372849ab826SEric Biggers			/sys/block/<disk>/queue/independent_access_ranges/
373849ab826SEric Biggers			|-- 0
374849ab826SEric Biggers			|   |-- nr_sectors
375849ab826SEric Biggers			|   `-- sector
376849ab826SEric Biggers			`-- 1
377849ab826SEric Biggers			    |-- nr_sectors
378849ab826SEric Biggers			    `-- sector
379849ab826SEric Biggers
380849ab826SEric Biggers		The sector and nr_sectors attributes use 512B sector unit,
381849ab826SEric Biggers		regardless of the actual block size of the device. Independent
382849ab826SEric Biggers		access ranges do not overlap and include all sectors within the
383849ab826SEric Biggers		device capacity. The access ranges are numbered in increasing
384849ab826SEric Biggers		order of the range start sector, that is, the sector attribute
385849ab826SEric Biggers		of range 0 always has the value 0.
386849ab826SEric Biggers
387849ab826SEric Biggers
388849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/io_poll
389849ab826SEric BiggersDate:		November 2015
390849ab826SEric BiggersContact:	linux-block@vger.kernel.org
391849ab826SEric BiggersDescription:
392849ab826SEric Biggers		[RW] When read, this file shows whether polling is enabled (1)
393849ab826SEric Biggers		or disabled (0).  Writing '0' to this file will disable polling
394849ab826SEric Biggers		for this device.  Writing any non-zero value will enable this
395849ab826SEric Biggers		feature.
396849ab826SEric Biggers
397849ab826SEric Biggers
398849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/io_poll_delay
399849ab826SEric BiggersDate:		November 2016
400849ab826SEric BiggersContact:	linux-block@vger.kernel.org
401849ab826SEric BiggersDescription:
40254bdd67dSKeith Busch		[RW] This was used to control what kind of polling will be
40354bdd67dSKeith Busch		performed.  It is now fixed to -1, which is classic polling.
404849ab826SEric Biggers		In this mode, the CPU will repeatedly ask for completions
40554bdd67dSKeith Busch		without giving up any time.
40654bdd67dSKeith Busch		<deprecated>
407849ab826SEric Biggers
408849ab826SEric Biggers
40907c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/io_timeout
41007c9093cSEric BiggersDate:		November 2018
41107c9093cSEric BiggersContact:	Weiping Zhang <zhangweiping@didiglobal.com>
41207c9093cSEric BiggersDescription:
413849ab826SEric Biggers		[RW] io_timeout is the request timeout in milliseconds. If a
414849ab826SEric Biggers		request does not complete in this time then the block driver
415849ab826SEric Biggers		timeout handler is invoked. That timeout handler can decide to
416849ab826SEric Biggers		retry the request, to fail it or to start a device recovery
417849ab826SEric Biggers		strategy.
418849ab826SEric Biggers
419849ab826SEric Biggers
420849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/iostats
421849ab826SEric BiggersDate:		January 2009
422849ab826SEric BiggersContact:	linux-block@vger.kernel.org
423849ab826SEric BiggersDescription:
424849ab826SEric Biggers		[RW] This file is used to control (on/off) the iostats
425849ab826SEric Biggers		accounting of the disk.
42607c9093cSEric Biggers
42707c9093cSEric Biggers
42807c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/logical_block_size
42907c9093cSEric BiggersDate:		May 2009
43007c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
43107c9093cSEric BiggersDescription:
432849ab826SEric Biggers		[RO] This is the smallest unit the storage device can address.
433849ab826SEric Biggers		It is typically 512 bytes.
43407c9093cSEric Biggers
43507c9093cSEric Biggers
43607c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/max_active_zones
43707c9093cSEric BiggersDate:		July 2020
43807c9093cSEric BiggersContact:	Niklas Cassel <niklas.cassel@wdc.com>
43907c9093cSEric BiggersDescription:
440849ab826SEric Biggers		[RO] For zoned block devices (zoned attribute indicating
44107c9093cSEric Biggers		"host-managed" or "host-aware"), the sum of zones belonging to
44207c9093cSEric Biggers		any of the zone states: EXPLICIT OPEN, IMPLICIT OPEN or CLOSED,
44307c9093cSEric Biggers		is limited by this value. If this value is 0, there is no limit.
44407c9093cSEric Biggers
445849ab826SEric Biggers		If the host attempts to exceed this limit, the driver should
446849ab826SEric Biggers		report this error with BLK_STS_ZONE_ACTIVE_RESOURCE, which user
447849ab826SEric Biggers		space may see as the EOVERFLOW errno.
448849ab826SEric Biggers
449849ab826SEric Biggers
450849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_discard_segments
451849ab826SEric BiggersDate:		February 2017
452849ab826SEric BiggersContact:	linux-block@vger.kernel.org
453849ab826SEric BiggersDescription:
454849ab826SEric Biggers		[RO] The maximum number of DMA scatter/gather entries in a
455849ab826SEric Biggers		discard request.
456849ab826SEric Biggers
457849ab826SEric Biggers
458849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_hw_sectors_kb
459849ab826SEric BiggersDate:		September 2004
460849ab826SEric BiggersContact:	linux-block@vger.kernel.org
461849ab826SEric BiggersDescription:
462849ab826SEric Biggers		[RO] This is the maximum number of kilobytes supported in a
463849ab826SEric Biggers		single data transfer.
464849ab826SEric Biggers
465849ab826SEric Biggers
466849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_integrity_segments
467849ab826SEric BiggersDate:		September 2010
468849ab826SEric BiggersContact:	linux-block@vger.kernel.org
469849ab826SEric BiggersDescription:
470849ab826SEric Biggers		[RO] Maximum number of elements in a DMA scatter/gather list
471849ab826SEric Biggers		with integrity data that will be submitted by the block layer
472849ab826SEric Biggers		core to the associated block driver.
473849ab826SEric Biggers
47407c9093cSEric Biggers
47507c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/max_open_zones
47607c9093cSEric BiggersDate:		July 2020
47707c9093cSEric BiggersContact:	Niklas Cassel <niklas.cassel@wdc.com>
47807c9093cSEric BiggersDescription:
479849ab826SEric Biggers		[RO] For zoned block devices (zoned attribute indicating
48007c9093cSEric Biggers		"host-managed" or "host-aware"), the sum of zones belonging to
481849ab826SEric Biggers		any of the zone states: EXPLICIT OPEN or IMPLICIT OPEN, is
482849ab826SEric Biggers		limited by this value. If this value is 0, there is no limit.
483849ab826SEric Biggers
484849ab826SEric Biggers
485849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_sectors_kb
486849ab826SEric BiggersDate:		September 2004
487849ab826SEric BiggersContact:	linux-block@vger.kernel.org
488849ab826SEric BiggersDescription:
489849ab826SEric Biggers		[RW] This is the maximum number of kilobytes that the block
490849ab826SEric Biggers		layer will allow for a filesystem request. Must be smaller than
491c9c77418SKeith Busch		or equal to the maximum size allowed by the hardware. Write 0
492c9c77418SKeith Busch		to use default kernel settings.
493849ab826SEric Biggers
494849ab826SEric Biggers
495849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_segment_size
496849ab826SEric BiggersDate:		March 2010
497849ab826SEric BiggersContact:	linux-block@vger.kernel.org
498849ab826SEric BiggersDescription:
499849ab826SEric Biggers		[RO] Maximum size in bytes of a single element in a DMA
500849ab826SEric Biggers		scatter/gather list.
501849ab826SEric Biggers
502849ab826SEric Biggers
503849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_segments
504849ab826SEric BiggersDate:		March 2010
505849ab826SEric BiggersContact:	linux-block@vger.kernel.org
506849ab826SEric BiggersDescription:
507849ab826SEric Biggers		[RO] Maximum number of elements in a DMA scatter/gather list
508849ab826SEric Biggers		that is submitted to the associated block driver.
50907c9093cSEric Biggers
51007c9093cSEric Biggers
51107c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/minimum_io_size
51207c9093cSEric BiggersDate:		April 2009
51307c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
51407c9093cSEric BiggersDescription:
515849ab826SEric Biggers		[RO] Storage devices may report a granularity or preferred
516849ab826SEric Biggers		minimum I/O size which is the smallest request the device can
517849ab826SEric Biggers		perform without incurring a performance penalty.  For disk
518849ab826SEric Biggers		drives this is often the physical block size.  For RAID arrays
519849ab826SEric Biggers		it is often the stripe chunk size.  A properly aligned multiple
520849ab826SEric Biggers		of minimum_io_size is the preferred request size for workloads
521849ab826SEric Biggers		where a high number of I/O operations is desired.
52207c9093cSEric Biggers
52307c9093cSEric Biggers
52407c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/nomerges
52507c9093cSEric BiggersDate:		January 2010
5268b0551a7SEric BiggersContact:	linux-block@vger.kernel.org
52707c9093cSEric BiggersDescription:
528849ab826SEric Biggers		[RW] Standard I/O elevator operations include attempts to merge
529849ab826SEric Biggers		contiguous I/Os. For known random I/O loads these attempts will
530849ab826SEric Biggers		always fail and result in extra cycles being spent in the
531849ab826SEric Biggers		kernel. This allows one to turn off this behavior on one of two
532849ab826SEric Biggers		ways: When set to 1, complex merge checks are disabled, but the
533849ab826SEric Biggers		simple one-shot merges with the previous I/O request are
534849ab826SEric Biggers		enabled. When set to 2, all merge tries are disabled. The
535849ab826SEric Biggers		default value is 0 - which enables all types of merge tries.
536849ab826SEric Biggers
537849ab826SEric Biggers
538849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/nr_requests
539849ab826SEric BiggersDate:		July 2003
540849ab826SEric BiggersContact:	linux-block@vger.kernel.org
541849ab826SEric BiggersDescription:
542849ab826SEric Biggers		[RW] This controls how many requests may be allocated in the
543849ab826SEric Biggers		block layer for read or write requests. Note that the total
544849ab826SEric Biggers		allocated number may be twice this amount, since it applies only
545849ab826SEric Biggers		to reads or writes (not the accumulated sum).
546849ab826SEric Biggers
547849ab826SEric Biggers		To avoid priority inversion through request starvation, a
548849ab826SEric Biggers		request queue maintains a separate request pool per each cgroup
549849ab826SEric Biggers		when CONFIG_BLK_CGROUP is enabled, and this parameter applies to
550849ab826SEric Biggers		each such per-block-cgroup request pool.  IOW, if there are N
551849ab826SEric Biggers		block cgroups, each request queue may have up to N request
552849ab826SEric Biggers		pools, each independently regulated by nr_requests.
55307c9093cSEric Biggers
55407c9093cSEric Biggers
55507c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/nr_zones
55607c9093cSEric BiggersDate:		November 2018
55707c9093cSEric BiggersContact:	Damien Le Moal <damien.lemoal@wdc.com>
55807c9093cSEric BiggersDescription:
559849ab826SEric Biggers		[RO] nr_zones indicates the total number of zones of a zoned
560849ab826SEric Biggers		block device ("host-aware" or "host-managed" zone model). For
561849ab826SEric Biggers		regular block devices, the value is always 0.
56207c9093cSEric Biggers
56307c9093cSEric Biggers
56407c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/optimal_io_size
56507c9093cSEric BiggersDate:		April 2009
56607c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
56707c9093cSEric BiggersDescription:
568849ab826SEric Biggers		[RO] Storage devices may report an optimal I/O size, which is
569849ab826SEric Biggers		the device's preferred unit for sustained I/O.  This is rarely
570849ab826SEric Biggers		reported for disk drives.  For RAID arrays it is usually the
571849ab826SEric Biggers		stripe width or the internal track size.  A properly aligned
572849ab826SEric Biggers		multiple of optimal_io_size is the preferred request size for
573849ab826SEric Biggers		workloads where sustained throughput is desired.  If no optimal
574849ab826SEric Biggers		I/O size is reported this file contains 0.
57507c9093cSEric Biggers
57607c9093cSEric Biggers
57707c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/physical_block_size
57807c9093cSEric BiggersDate:		May 2009
57907c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
58007c9093cSEric BiggersDescription:
581849ab826SEric Biggers		[RO] This is the smallest unit a physical storage device can
582849ab826SEric Biggers		write atomically.  It is usually the same as the logical block
583849ab826SEric Biggers		size but may be bigger.  One example is SATA drives with 4KB
584849ab826SEric Biggers		sectors that expose a 512-byte logical block size to the
585849ab826SEric Biggers		operating system.  For stacked block devices the
586849ab826SEric Biggers		physical_block_size variable contains the maximum
587849ab826SEric Biggers		physical_block_size of the component devices.
588849ab826SEric Biggers
589849ab826SEric Biggers
590849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/read_ahead_kb
591849ab826SEric BiggersDate:		May 2004
592849ab826SEric BiggersContact:	linux-block@vger.kernel.org
593849ab826SEric BiggersDescription:
594849ab826SEric Biggers		[RW] Maximum number of kilobytes to read-ahead for filesystems
595849ab826SEric Biggers		on this block device.
596849ab826SEric Biggers
597849ab826SEric Biggers
598849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/rotational
599849ab826SEric BiggersDate:		January 2009
600849ab826SEric BiggersContact:	linux-block@vger.kernel.org
601849ab826SEric BiggersDescription:
602849ab826SEric Biggers		[RW] This file is used to stat if the device is of rotational
603849ab826SEric Biggers		type or non-rotational type.
604849ab826SEric Biggers
605849ab826SEric Biggers
606849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/rq_affinity
607849ab826SEric BiggersDate:		September 2008
608849ab826SEric BiggersContact:	linux-block@vger.kernel.org
609849ab826SEric BiggersDescription:
610849ab826SEric Biggers		[RW] If this option is '1', the block layer will migrate request
611849ab826SEric Biggers		completions to the cpu "group" that originally submitted the
612849ab826SEric Biggers		request. For some workloads this provides a significant
613849ab826SEric Biggers		reduction in CPU cycles due to caching effects.
614849ab826SEric Biggers
615849ab826SEric Biggers		For storage configurations that need to maximize distribution of
616849ab826SEric Biggers		completion processing setting this option to '2' forces the
617849ab826SEric Biggers		completion to run on the requesting cpu (bypassing the "group"
618849ab826SEric Biggers		aggregation logic).
619849ab826SEric Biggers
620849ab826SEric Biggers
621849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/scheduler
622849ab826SEric BiggersDate:		October 2004
623849ab826SEric BiggersContact:	linux-block@vger.kernel.org
624849ab826SEric BiggersDescription:
625849ab826SEric Biggers		[RW] When read, this file will display the current and available
626849ab826SEric Biggers		IO schedulers for this block device. The currently active IO
627849ab826SEric Biggers		scheduler will be enclosed in [] brackets. Writing an IO
628849ab826SEric Biggers		scheduler name to this file will switch control of this block
629849ab826SEric Biggers		device to that new IO scheduler. Note that writing an IO
630849ab826SEric Biggers		scheduler name to this file will attempt to load that IO
631849ab826SEric Biggers		scheduler module, if it isn't already present in the system.
632849ab826SEric Biggers
633849ab826SEric Biggers
63411630104SEric BiggersWhat:		/sys/block/<disk>/queue/stable_writes
63511630104SEric BiggersDate:		September 2020
63611630104SEric BiggersContact:	linux-block@vger.kernel.org
63711630104SEric BiggersDescription:
63811630104SEric Biggers		[RW] This file will contain '1' if memory must not be modified
63911630104SEric Biggers		while it is being used in a write request to this device.  When
64011630104SEric Biggers		this is the case and the kernel is performing writeback of a
64111630104SEric Biggers		page, the kernel will wait for writeback to complete before
64211630104SEric Biggers		allowing the page to be modified again, rather than allowing
64311630104SEric Biggers		immediate modification as is normally the case.  This
64411630104SEric Biggers		restriction arises when the device accesses the memory multiple
64511630104SEric Biggers		times where the same data must be seen every time -- for
64611630104SEric Biggers		example, once to calculate a checksum and once to actually write
64711630104SEric Biggers		the data.  If no such restriction exists, this file will contain
64811630104SEric Biggers		'0'.  This file is writable for testing purposes.
64911630104SEric Biggers
6508bc2f7c6SEric BiggersWhat:		/sys/block/<disk>/queue/virt_boundary_mask
6518bc2f7c6SEric BiggersDate:		April 2021
6528bc2f7c6SEric BiggersContact:	linux-block@vger.kernel.org
6538bc2f7c6SEric BiggersDescription:
6548bc2f7c6SEric Biggers		[RO] This file shows the I/O segment memory alignment mask for
6558bc2f7c6SEric Biggers		the block device.  I/O requests to this device will be split
6568bc2f7c6SEric Biggers		between segments wherever either the memory address of the end
6578bc2f7c6SEric Biggers		of the previous segment or the memory address of the beginning
6588bc2f7c6SEric Biggers		of the current segment is not aligned to virt_boundary_mask + 1
6598bc2f7c6SEric Biggers		bytes.
6608bc2f7c6SEric Biggers
6618bc2f7c6SEric Biggers
662849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/wbt_lat_usec
663849ab826SEric BiggersDate:		November 2016
664849ab826SEric BiggersContact:	linux-block@vger.kernel.org
665849ab826SEric BiggersDescription:
666849ab826SEric Biggers		[RW] If the device is registered for writeback throttling, then
667849ab826SEric Biggers		this file shows the target minimum read latency. If this latency
668849ab826SEric Biggers		is exceeded in a given window of time (see wb_window_usec), then
669849ab826SEric Biggers		the writeback throttling will start scaling back writes. Writing
670849ab826SEric Biggers		a value of '0' to this file disables the feature. Writing a
671849ab826SEric Biggers		value of '-1' to this file resets the value to the default
672849ab826SEric Biggers		setting.
673849ab826SEric Biggers
674849ab826SEric Biggers
675849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/write_cache
676849ab826SEric BiggersDate:		April 2016
677849ab826SEric BiggersContact:	linux-block@vger.kernel.org
678849ab826SEric BiggersDescription:
679849ab826SEric Biggers		[RW] When read, this file will display whether the device has
680849ab826SEric Biggers		write back caching enabled or not. It will return "write back"
681849ab826SEric Biggers		for the former case, and "write through" for the latter. Writing
682849ab826SEric Biggers		to this file can change the kernels view of the device, but it
683849ab826SEric Biggers		doesn't alter the device state. This means that it might not be
684849ab826SEric Biggers		safe to toggle the setting from "write back" to "write through",
685849ab826SEric Biggers		since that will also eliminate cache flushes issued by the
686849ab826SEric Biggers		kernel.
68707c9093cSEric Biggers
68807c9093cSEric Biggers
68907c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/write_same_max_bytes
69007c9093cSEric BiggersDate:		January 2012
69107c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
69207c9093cSEric BiggersDescription:
693849ab826SEric Biggers		[RO] Some devices support a write same operation in which a
69407c9093cSEric Biggers		single data block can be written to a range of several
695849ab826SEric Biggers		contiguous blocks on storage. This can be used to wipe areas on
696849ab826SEric Biggers		disk or to initialize drives in a RAID configuration.
697849ab826SEric Biggers		write_same_max_bytes indicates how many bytes can be written in
698849ab826SEric Biggers		a single write same command. If write_same_max_bytes is 0, write
699849ab826SEric Biggers		same is not supported by the device.
70007c9093cSEric Biggers
70107c9093cSEric Biggers
70207c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/write_zeroes_max_bytes
70307c9093cSEric BiggersDate:		November 2016
70407c9093cSEric BiggersContact:	Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
70507c9093cSEric BiggersDescription:
706849ab826SEric Biggers		[RO] Devices that support write zeroes operation in which a
707849ab826SEric Biggers		single request can be issued to zero out the range of contiguous
708849ab826SEric Biggers		blocks on storage without having any payload in the request.
709849ab826SEric Biggers		This can be used to optimize writing zeroes to the devices.
710849ab826SEric Biggers		write_zeroes_max_bytes indicates how many bytes can be written
711849ab826SEric Biggers		in a single write zeroes command. If write_zeroes_max_bytes is
712849ab826SEric Biggers		0, write zeroes is not supported by the device.
713849ab826SEric Biggers
714849ab826SEric Biggers
715849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/zone_append_max_bytes
716849ab826SEric BiggersDate:		May 2020
717849ab826SEric BiggersContact:	linux-block@vger.kernel.org
718849ab826SEric BiggersDescription:
719849ab826SEric Biggers		[RO] This is the maximum number of bytes that can be written to
720849ab826SEric Biggers		a sequential zone of a zoned block device using a zone append
721849ab826SEric Biggers		write operation (REQ_OP_ZONE_APPEND). This value is always 0 for
722849ab826SEric Biggers		regular block devices.
723849ab826SEric Biggers
724849ab826SEric Biggers
725849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/zone_write_granularity
726849ab826SEric BiggersDate:		January 2021
727849ab826SEric BiggersContact:	linux-block@vger.kernel.org
728849ab826SEric BiggersDescription:
729849ab826SEric Biggers		[RO] This indicates the alignment constraint, in bytes, for
730849ab826SEric Biggers		write operations in sequential zones of zoned block devices
731849ab826SEric Biggers		(devices with a zoned attributed that reports "host-managed" or
732849ab826SEric Biggers		"host-aware"). This value is always 0 for regular block devices.
73307c9093cSEric Biggers
73407c9093cSEric Biggers
73507c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/zoned
73607c9093cSEric BiggersDate:		September 2016
73707c9093cSEric BiggersContact:	Damien Le Moal <damien.lemoal@wdc.com>
73807c9093cSEric BiggersDescription:
739849ab826SEric Biggers		[RO] zoned indicates if the device is a zoned block device and
740849ab826SEric Biggers		the zone model of the device if it is indeed zoned.  The
741849ab826SEric Biggers		possible values indicated by zoned are "none" for regular block
742849ab826SEric Biggers		devices and "host-aware" or "host-managed" for zoned block
743849ab826SEric Biggers		devices. The characteristics of host-aware and host-managed
744849ab826SEric Biggers		zoned block devices are described in the ZBC (Zoned Block
745849ab826SEric Biggers		Commands) and ZAC (Zoned Device ATA Command Set) standards.
746849ab826SEric Biggers		These standards also define the "drive-managed" zone model.
747849ab826SEric Biggers		However, since drive-managed zoned block devices do not support
748849ab826SEric Biggers		zone commands, they will be treated as regular block devices and
749849ab826SEric Biggers		zoned will report "none".
75007c9093cSEric Biggers
75107c9093cSEric Biggers
752e3306221SSagi GrimbergWhat:		/sys/block/<disk>/hidden
753e3306221SSagi GrimbergDate:		March 2023
754e3306221SSagi GrimbergContact:	linux-block@vger.kernel.org
755e3306221SSagi GrimbergDescription:
756e3306221SSagi Grimberg		[RO] the block device is hidden. it doesn’t produce events, and
757e3306221SSagi Grimberg		can’t be opened from userspace or using blkdev_get*.
758e3306221SSagi Grimberg		Used for the underlying components of multipath devices.
759e3306221SSagi Grimberg
760e3306221SSagi Grimberg
761ae7a7a53SEric BiggersWhat:		/sys/block/<disk>/stat
762ae7a7a53SEric BiggersDate:		February 2008
763ae7a7a53SEric BiggersContact:	Jerome Marchand <jmarchan@redhat.com>
764ae7a7a53SEric BiggersDescription:
765ae7a7a53SEric Biggers		The /sys/block/<disk>/stat files displays the I/O
766ae7a7a53SEric Biggers		statistics of disk <disk>. They contain 11 fields:
767ae7a7a53SEric Biggers
768ae7a7a53SEric Biggers		==  ==============================================
769ae7a7a53SEric Biggers		 1  reads completed successfully
770ae7a7a53SEric Biggers		 2  reads merged
771ae7a7a53SEric Biggers		 3  sectors read
772ae7a7a53SEric Biggers		 4  time spent reading (ms)
773ae7a7a53SEric Biggers		 5  writes completed
774ae7a7a53SEric Biggers		 6  writes merged
775ae7a7a53SEric Biggers		 7  sectors written
776ae7a7a53SEric Biggers		 8  time spent writing (ms)
777ae7a7a53SEric Biggers		 9  I/Os currently in progress
778ae7a7a53SEric Biggers		10  time spent doing I/Os (ms)
779ae7a7a53SEric Biggers		11  weighted time spent doing I/Os (ms)
780ae7a7a53SEric Biggers		12  discards completed
781ae7a7a53SEric Biggers		13  discards merged
782ae7a7a53SEric Biggers		14  sectors discarded
783ae7a7a53SEric Biggers		15  time spent discarding (ms)
784ae7a7a53SEric Biggers		16  flush requests completed
785ae7a7a53SEric Biggers		17  time spent flushing (ms)
786ae7a7a53SEric Biggers		==  ==============================================
787ae7a7a53SEric Biggers
788ae7a7a53SEric Biggers		For more details refer Documentation/admin-guide/iostats.rst
789