xref: /linux/Documentation/ABI/stable/sysfs-block (revision 110234da18ab482f6f583d28eff26b9569bf5622)
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
249da3d1e9SJohn GarryWhat:		/sys/block/<disk>/atomic_write_max_bytes
259da3d1e9SJohn GarryDate:		February 2024
269da3d1e9SJohn GarryContact:	Himanshu Madhani <himanshu.madhani@oracle.com>
279da3d1e9SJohn GarryDescription:
289da3d1e9SJohn Garry		[RO] This parameter specifies the maximum atomic write
299da3d1e9SJohn Garry		size reported by the device. This parameter is relevant
309da3d1e9SJohn Garry		for merging of writes, where a merged atomic write
319da3d1e9SJohn Garry		operation must not exceed this number of bytes.
329da3d1e9SJohn Garry		This parameter may be greater than the value in
339da3d1e9SJohn Garry		atomic_write_unit_max_bytes as
349da3d1e9SJohn Garry		atomic_write_unit_max_bytes will be rounded down to a
359da3d1e9SJohn Garry		power-of-two and atomic_write_unit_max_bytes may also be
369da3d1e9SJohn Garry		limited by some other queue limits, such as max_segments.
379da3d1e9SJohn Garry		This parameter - along with atomic_write_unit_min_bytes
389da3d1e9SJohn Garry		and atomic_write_unit_max_bytes - will not be larger than
399da3d1e9SJohn Garry		max_hw_sectors_kb, but may be larger than max_sectors_kb.
409da3d1e9SJohn Garry
419da3d1e9SJohn Garry
429da3d1e9SJohn GarryWhat:		/sys/block/<disk>/atomic_write_unit_min_bytes
439da3d1e9SJohn GarryDate:		February 2024
449da3d1e9SJohn GarryContact:	Himanshu Madhani <himanshu.madhani@oracle.com>
459da3d1e9SJohn GarryDescription:
469da3d1e9SJohn Garry		[RO] This parameter specifies the smallest block which can
479da3d1e9SJohn Garry		be written atomically with an atomic write operation. All
489da3d1e9SJohn Garry		atomic write operations must begin at a
499da3d1e9SJohn Garry		atomic_write_unit_min boundary and must be multiples of
509da3d1e9SJohn Garry		atomic_write_unit_min. This value must be a power-of-two.
519da3d1e9SJohn Garry
529da3d1e9SJohn Garry
539da3d1e9SJohn GarryWhat:		/sys/block/<disk>/atomic_write_unit_max_bytes
549da3d1e9SJohn GarryDate:		February 2024
559da3d1e9SJohn GarryContact:	Himanshu Madhani <himanshu.madhani@oracle.com>
569da3d1e9SJohn GarryDescription:
579da3d1e9SJohn Garry		[RO] This parameter defines the largest block which can be
589da3d1e9SJohn Garry		written atomically with an atomic write operation. This
599da3d1e9SJohn Garry		value must be a multiple of atomic_write_unit_min and must
609da3d1e9SJohn Garry		be a power-of-two. This value will not be larger than
619da3d1e9SJohn Garry		atomic_write_max_bytes.
629da3d1e9SJohn Garry
639da3d1e9SJohn Garry
649da3d1e9SJohn GarryWhat:		/sys/block/<disk>/atomic_write_boundary_bytes
659da3d1e9SJohn GarryDate:		February 2024
669da3d1e9SJohn GarryContact:	Himanshu Madhani <himanshu.madhani@oracle.com>
679da3d1e9SJohn GarryDescription:
689da3d1e9SJohn Garry		[RO] A device may need to internally split an atomic write I/O
699da3d1e9SJohn Garry		which straddles a given logical block address boundary. This
709da3d1e9SJohn Garry		parameter specifies the size in bytes of the atomic boundary if
719da3d1e9SJohn Garry		one is reported by the device. This value must be a
729da3d1e9SJohn Garry		power-of-two and at least the size as in
739da3d1e9SJohn Garry		atomic_write_unit_max_bytes.
749da3d1e9SJohn Garry		Any attempt to merge atomic write I/Os must not result in a
759da3d1e9SJohn Garry		merged I/O which crosses this boundary (if any).
769da3d1e9SJohn 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
427*110234daSKeith BuschWhat:		/sys/block/<disk>/queue/iostats_passthrough
428*110234daSKeith BuschDate:		October 2024
429*110234daSKeith BuschContact:	linux-block@vger.kernel.org
430*110234daSKeith BuschDescription:
431*110234daSKeith Busch		[RW] This file is used to control (on/off) the iostats
432*110234daSKeith Busch		accounting of the disk for passthrough commands.
433*110234daSKeith Busch
43407c9093cSEric Biggers
43507c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/logical_block_size
43607c9093cSEric BiggersDate:		May 2009
43707c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
43807c9093cSEric BiggersDescription:
439849ab826SEric Biggers		[RO] This is the smallest unit the storage device can address.
440849ab826SEric Biggers		It is typically 512 bytes.
44107c9093cSEric Biggers
44207c9093cSEric Biggers
44307c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/max_active_zones
44407c9093cSEric BiggersDate:		July 2020
44507c9093cSEric BiggersContact:	Niklas Cassel <niklas.cassel@wdc.com>
44607c9093cSEric BiggersDescription:
447849ab826SEric Biggers		[RO] For zoned block devices (zoned attribute indicating
44807c9093cSEric Biggers		"host-managed" or "host-aware"), the sum of zones belonging to
44907c9093cSEric Biggers		any of the zone states: EXPLICIT OPEN, IMPLICIT OPEN or CLOSED,
45007c9093cSEric Biggers		is limited by this value. If this value is 0, there is no limit.
45107c9093cSEric Biggers
452849ab826SEric Biggers		If the host attempts to exceed this limit, the driver should
453849ab826SEric Biggers		report this error with BLK_STS_ZONE_ACTIVE_RESOURCE, which user
454849ab826SEric Biggers		space may see as the EOVERFLOW errno.
455849ab826SEric Biggers
456849ab826SEric Biggers
457849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_discard_segments
458849ab826SEric BiggersDate:		February 2017
459849ab826SEric BiggersContact:	linux-block@vger.kernel.org
460849ab826SEric BiggersDescription:
461849ab826SEric Biggers		[RO] The maximum number of DMA scatter/gather entries in a
462849ab826SEric Biggers		discard request.
463849ab826SEric Biggers
464849ab826SEric Biggers
465849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_hw_sectors_kb
466849ab826SEric BiggersDate:		September 2004
467849ab826SEric BiggersContact:	linux-block@vger.kernel.org
468849ab826SEric BiggersDescription:
469849ab826SEric Biggers		[RO] This is the maximum number of kilobytes supported in a
470849ab826SEric Biggers		single data transfer.
471849ab826SEric Biggers
472849ab826SEric Biggers
473849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_integrity_segments
474849ab826SEric BiggersDate:		September 2010
475849ab826SEric BiggersContact:	linux-block@vger.kernel.org
476849ab826SEric BiggersDescription:
477849ab826SEric Biggers		[RO] Maximum number of elements in a DMA scatter/gather list
478849ab826SEric Biggers		with integrity data that will be submitted by the block layer
479849ab826SEric Biggers		core to the associated block driver.
480849ab826SEric Biggers
48107c9093cSEric Biggers
48207c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/max_open_zones
48307c9093cSEric BiggersDate:		July 2020
48407c9093cSEric BiggersContact:	Niklas Cassel <niklas.cassel@wdc.com>
48507c9093cSEric BiggersDescription:
486849ab826SEric Biggers		[RO] For zoned block devices (zoned attribute indicating
48707c9093cSEric Biggers		"host-managed" or "host-aware"), the sum of zones belonging to
488849ab826SEric Biggers		any of the zone states: EXPLICIT OPEN or IMPLICIT OPEN, is
489849ab826SEric Biggers		limited by this value. If this value is 0, there is no limit.
490849ab826SEric Biggers
491849ab826SEric Biggers
492849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_sectors_kb
493849ab826SEric BiggersDate:		September 2004
494849ab826SEric BiggersContact:	linux-block@vger.kernel.org
495849ab826SEric BiggersDescription:
496849ab826SEric Biggers		[RW] This is the maximum number of kilobytes that the block
497849ab826SEric Biggers		layer will allow for a filesystem request. Must be smaller than
498c9c77418SKeith Busch		or equal to the maximum size allowed by the hardware. Write 0
499c9c77418SKeith Busch		to use default kernel settings.
500849ab826SEric Biggers
501849ab826SEric Biggers
502849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_segment_size
503849ab826SEric BiggersDate:		March 2010
504849ab826SEric BiggersContact:	linux-block@vger.kernel.org
505849ab826SEric BiggersDescription:
506849ab826SEric Biggers		[RO] Maximum size in bytes of a single element in a DMA
507849ab826SEric Biggers		scatter/gather list.
508849ab826SEric Biggers
509849ab826SEric Biggers
510849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/max_segments
511849ab826SEric BiggersDate:		March 2010
512849ab826SEric BiggersContact:	linux-block@vger.kernel.org
513849ab826SEric BiggersDescription:
514849ab826SEric Biggers		[RO] Maximum number of elements in a DMA scatter/gather list
515849ab826SEric Biggers		that is submitted to the associated block driver.
51607c9093cSEric Biggers
51707c9093cSEric Biggers
51807c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/minimum_io_size
51907c9093cSEric BiggersDate:		April 2009
52007c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
52107c9093cSEric BiggersDescription:
522849ab826SEric Biggers		[RO] Storage devices may report a granularity or preferred
523849ab826SEric Biggers		minimum I/O size which is the smallest request the device can
524849ab826SEric Biggers		perform without incurring a performance penalty.  For disk
525849ab826SEric Biggers		drives this is often the physical block size.  For RAID arrays
526849ab826SEric Biggers		it is often the stripe chunk size.  A properly aligned multiple
527849ab826SEric Biggers		of minimum_io_size is the preferred request size for workloads
528849ab826SEric Biggers		where a high number of I/O operations is desired.
52907c9093cSEric Biggers
53007c9093cSEric Biggers
53107c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/nomerges
53207c9093cSEric BiggersDate:		January 2010
5338b0551a7SEric BiggersContact:	linux-block@vger.kernel.org
53407c9093cSEric BiggersDescription:
535849ab826SEric Biggers		[RW] Standard I/O elevator operations include attempts to merge
536849ab826SEric Biggers		contiguous I/Os. For known random I/O loads these attempts will
537849ab826SEric Biggers		always fail and result in extra cycles being spent in the
538849ab826SEric Biggers		kernel. This allows one to turn off this behavior on one of two
539849ab826SEric Biggers		ways: When set to 1, complex merge checks are disabled, but the
540849ab826SEric Biggers		simple one-shot merges with the previous I/O request are
541849ab826SEric Biggers		enabled. When set to 2, all merge tries are disabled. The
542849ab826SEric Biggers		default value is 0 - which enables all types of merge tries.
543849ab826SEric Biggers
544849ab826SEric Biggers
545849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/nr_requests
546849ab826SEric BiggersDate:		July 2003
547849ab826SEric BiggersContact:	linux-block@vger.kernel.org
548849ab826SEric BiggersDescription:
549849ab826SEric Biggers		[RW] This controls how many requests may be allocated in the
550849ab826SEric Biggers		block layer for read or write requests. Note that the total
551849ab826SEric Biggers		allocated number may be twice this amount, since it applies only
552849ab826SEric Biggers		to reads or writes (not the accumulated sum).
553849ab826SEric Biggers
554849ab826SEric Biggers		To avoid priority inversion through request starvation, a
555849ab826SEric Biggers		request queue maintains a separate request pool per each cgroup
556849ab826SEric Biggers		when CONFIG_BLK_CGROUP is enabled, and this parameter applies to
557849ab826SEric Biggers		each such per-block-cgroup request pool.  IOW, if there are N
558849ab826SEric Biggers		block cgroups, each request queue may have up to N request
559849ab826SEric Biggers		pools, each independently regulated by nr_requests.
56007c9093cSEric Biggers
56107c9093cSEric Biggers
56207c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/nr_zones
56307c9093cSEric BiggersDate:		November 2018
56407c9093cSEric BiggersContact:	Damien Le Moal <damien.lemoal@wdc.com>
56507c9093cSEric BiggersDescription:
566849ab826SEric Biggers		[RO] nr_zones indicates the total number of zones of a zoned
567849ab826SEric Biggers		block device ("host-aware" or "host-managed" zone model). For
568849ab826SEric Biggers		regular block devices, the value is always 0.
56907c9093cSEric Biggers
57007c9093cSEric Biggers
57107c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/optimal_io_size
57207c9093cSEric BiggersDate:		April 2009
57307c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
57407c9093cSEric BiggersDescription:
575849ab826SEric Biggers		[RO] Storage devices may report an optimal I/O size, which is
576849ab826SEric Biggers		the device's preferred unit for sustained I/O.  This is rarely
577849ab826SEric Biggers		reported for disk drives.  For RAID arrays it is usually the
578849ab826SEric Biggers		stripe width or the internal track size.  A properly aligned
579849ab826SEric Biggers		multiple of optimal_io_size is the preferred request size for
580849ab826SEric Biggers		workloads where sustained throughput is desired.  If no optimal
581849ab826SEric Biggers		I/O size is reported this file contains 0.
58207c9093cSEric Biggers
58307c9093cSEric Biggers
58407c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/physical_block_size
58507c9093cSEric BiggersDate:		May 2009
58607c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
58707c9093cSEric BiggersDescription:
588849ab826SEric Biggers		[RO] This is the smallest unit a physical storage device can
589849ab826SEric Biggers		write atomically.  It is usually the same as the logical block
590849ab826SEric Biggers		size but may be bigger.  One example is SATA drives with 4KB
591849ab826SEric Biggers		sectors that expose a 512-byte logical block size to the
592849ab826SEric Biggers		operating system.  For stacked block devices the
593849ab826SEric Biggers		physical_block_size variable contains the maximum
594849ab826SEric Biggers		physical_block_size of the component devices.
595849ab826SEric Biggers
596849ab826SEric Biggers
597849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/read_ahead_kb
598849ab826SEric BiggersDate:		May 2004
599849ab826SEric BiggersContact:	linux-block@vger.kernel.org
600849ab826SEric BiggersDescription:
601849ab826SEric Biggers		[RW] Maximum number of kilobytes to read-ahead for filesystems
602849ab826SEric Biggers		on this block device.
603849ab826SEric Biggers
604849ab826SEric Biggers
605849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/rotational
606849ab826SEric BiggersDate:		January 2009
607849ab826SEric BiggersContact:	linux-block@vger.kernel.org
608849ab826SEric BiggersDescription:
609849ab826SEric Biggers		[RW] This file is used to stat if the device is of rotational
610849ab826SEric Biggers		type or non-rotational type.
611849ab826SEric Biggers
612849ab826SEric Biggers
613849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/rq_affinity
614849ab826SEric BiggersDate:		September 2008
615849ab826SEric BiggersContact:	linux-block@vger.kernel.org
616849ab826SEric BiggersDescription:
617849ab826SEric Biggers		[RW] If this option is '1', the block layer will migrate request
618849ab826SEric Biggers		completions to the cpu "group" that originally submitted the
619849ab826SEric Biggers		request. For some workloads this provides a significant
620849ab826SEric Biggers		reduction in CPU cycles due to caching effects.
621849ab826SEric Biggers
622849ab826SEric Biggers		For storage configurations that need to maximize distribution of
623849ab826SEric Biggers		completion processing setting this option to '2' forces the
624849ab826SEric Biggers		completion to run on the requesting cpu (bypassing the "group"
625849ab826SEric Biggers		aggregation logic).
626849ab826SEric Biggers
627849ab826SEric Biggers
628849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/scheduler
629849ab826SEric BiggersDate:		October 2004
630849ab826SEric BiggersContact:	linux-block@vger.kernel.org
631849ab826SEric BiggersDescription:
632849ab826SEric Biggers		[RW] When read, this file will display the current and available
633849ab826SEric Biggers		IO schedulers for this block device. The currently active IO
634849ab826SEric Biggers		scheduler will be enclosed in [] brackets. Writing an IO
635849ab826SEric Biggers		scheduler name to this file will switch control of this block
636849ab826SEric Biggers		device to that new IO scheduler. Note that writing an IO
637849ab826SEric Biggers		scheduler name to this file will attempt to load that IO
638849ab826SEric Biggers		scheduler module, if it isn't already present in the system.
639849ab826SEric Biggers
640849ab826SEric Biggers
64111630104SEric BiggersWhat:		/sys/block/<disk>/queue/stable_writes
64211630104SEric BiggersDate:		September 2020
64311630104SEric BiggersContact:	linux-block@vger.kernel.org
64411630104SEric BiggersDescription:
64511630104SEric Biggers		[RW] This file will contain '1' if memory must not be modified
64611630104SEric Biggers		while it is being used in a write request to this device.  When
64711630104SEric Biggers		this is the case and the kernel is performing writeback of a
64811630104SEric Biggers		page, the kernel will wait for writeback to complete before
64911630104SEric Biggers		allowing the page to be modified again, rather than allowing
65011630104SEric Biggers		immediate modification as is normally the case.  This
65111630104SEric Biggers		restriction arises when the device accesses the memory multiple
65211630104SEric Biggers		times where the same data must be seen every time -- for
65311630104SEric Biggers		example, once to calculate a checksum and once to actually write
65411630104SEric Biggers		the data.  If no such restriction exists, this file will contain
65511630104SEric Biggers		'0'.  This file is writable for testing purposes.
65611630104SEric Biggers
6578bc2f7c6SEric BiggersWhat:		/sys/block/<disk>/queue/virt_boundary_mask
6588bc2f7c6SEric BiggersDate:		April 2021
6598bc2f7c6SEric BiggersContact:	linux-block@vger.kernel.org
6608bc2f7c6SEric BiggersDescription:
6618bc2f7c6SEric Biggers		[RO] This file shows the I/O segment memory alignment mask for
6628bc2f7c6SEric Biggers		the block device.  I/O requests to this device will be split
6638bc2f7c6SEric Biggers		between segments wherever either the memory address of the end
6648bc2f7c6SEric Biggers		of the previous segment or the memory address of the beginning
6658bc2f7c6SEric Biggers		of the current segment is not aligned to virt_boundary_mask + 1
6668bc2f7c6SEric Biggers		bytes.
6678bc2f7c6SEric Biggers
6688bc2f7c6SEric Biggers
669849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/wbt_lat_usec
670849ab826SEric BiggersDate:		November 2016
671849ab826SEric BiggersContact:	linux-block@vger.kernel.org
672849ab826SEric BiggersDescription:
673849ab826SEric Biggers		[RW] If the device is registered for writeback throttling, then
674849ab826SEric Biggers		this file shows the target minimum read latency. If this latency
675849ab826SEric Biggers		is exceeded in a given window of time (see wb_window_usec), then
676849ab826SEric Biggers		the writeback throttling will start scaling back writes. Writing
677849ab826SEric Biggers		a value of '0' to this file disables the feature. Writing a
678849ab826SEric Biggers		value of '-1' to this file resets the value to the default
679849ab826SEric Biggers		setting.
680849ab826SEric Biggers
681849ab826SEric Biggers
682849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/write_cache
683849ab826SEric BiggersDate:		April 2016
684849ab826SEric BiggersContact:	linux-block@vger.kernel.org
685849ab826SEric BiggersDescription:
686849ab826SEric Biggers		[RW] When read, this file will display whether the device has
687849ab826SEric Biggers		write back caching enabled or not. It will return "write back"
688849ab826SEric Biggers		for the former case, and "write through" for the latter. Writing
689849ab826SEric Biggers		to this file can change the kernels view of the device, but it
690849ab826SEric Biggers		doesn't alter the device state. This means that it might not be
691849ab826SEric Biggers		safe to toggle the setting from "write back" to "write through",
692849ab826SEric Biggers		since that will also eliminate cache flushes issued by the
693849ab826SEric Biggers		kernel.
69407c9093cSEric Biggers
69507c9093cSEric Biggers
69607c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/write_same_max_bytes
69707c9093cSEric BiggersDate:		January 2012
69807c9093cSEric BiggersContact:	Martin K. Petersen <martin.petersen@oracle.com>
69907c9093cSEric BiggersDescription:
700849ab826SEric Biggers		[RO] Some devices support a write same operation in which a
70107c9093cSEric Biggers		single data block can be written to a range of several
702849ab826SEric Biggers		contiguous blocks on storage. This can be used to wipe areas on
703849ab826SEric Biggers		disk or to initialize drives in a RAID configuration.
704849ab826SEric Biggers		write_same_max_bytes indicates how many bytes can be written in
705849ab826SEric Biggers		a single write same command. If write_same_max_bytes is 0, write
706849ab826SEric Biggers		same is not supported by the device.
70707c9093cSEric Biggers
70807c9093cSEric Biggers
70907c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/write_zeroes_max_bytes
71007c9093cSEric BiggersDate:		November 2016
71107c9093cSEric BiggersContact:	Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
71207c9093cSEric BiggersDescription:
713849ab826SEric Biggers		[RO] Devices that support write zeroes operation in which a
714849ab826SEric Biggers		single request can be issued to zero out the range of contiguous
715849ab826SEric Biggers		blocks on storage without having any payload in the request.
716849ab826SEric Biggers		This can be used to optimize writing zeroes to the devices.
717849ab826SEric Biggers		write_zeroes_max_bytes indicates how many bytes can be written
718849ab826SEric Biggers		in a single write zeroes command. If write_zeroes_max_bytes is
719849ab826SEric Biggers		0, write zeroes is not supported by the device.
720849ab826SEric Biggers
721849ab826SEric Biggers
722849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/zone_append_max_bytes
723849ab826SEric BiggersDate:		May 2020
724849ab826SEric BiggersContact:	linux-block@vger.kernel.org
725849ab826SEric BiggersDescription:
726849ab826SEric Biggers		[RO] This is the maximum number of bytes that can be written to
727849ab826SEric Biggers		a sequential zone of a zoned block device using a zone append
728849ab826SEric Biggers		write operation (REQ_OP_ZONE_APPEND). This value is always 0 for
729849ab826SEric Biggers		regular block devices.
730849ab826SEric Biggers
731849ab826SEric Biggers
732849ab826SEric BiggersWhat:		/sys/block/<disk>/queue/zone_write_granularity
733849ab826SEric BiggersDate:		January 2021
734849ab826SEric BiggersContact:	linux-block@vger.kernel.org
735849ab826SEric BiggersDescription:
736849ab826SEric Biggers		[RO] This indicates the alignment constraint, in bytes, for
737849ab826SEric Biggers		write operations in sequential zones of zoned block devices
738849ab826SEric Biggers		(devices with a zoned attributed that reports "host-managed" or
739849ab826SEric Biggers		"host-aware"). This value is always 0 for regular block devices.
74007c9093cSEric Biggers
74107c9093cSEric Biggers
74207c9093cSEric BiggersWhat:		/sys/block/<disk>/queue/zoned
74307c9093cSEric BiggersDate:		September 2016
74407c9093cSEric BiggersContact:	Damien Le Moal <damien.lemoal@wdc.com>
74507c9093cSEric BiggersDescription:
746849ab826SEric Biggers		[RO] zoned indicates if the device is a zoned block device and
747849ab826SEric Biggers		the zone model of the device if it is indeed zoned.  The
748849ab826SEric Biggers		possible values indicated by zoned are "none" for regular block
749849ab826SEric Biggers		devices and "host-aware" or "host-managed" for zoned block
750849ab826SEric Biggers		devices. The characteristics of host-aware and host-managed
751849ab826SEric Biggers		zoned block devices are described in the ZBC (Zoned Block
752849ab826SEric Biggers		Commands) and ZAC (Zoned Device ATA Command Set) standards.
753849ab826SEric Biggers		These standards also define the "drive-managed" zone model.
754849ab826SEric Biggers		However, since drive-managed zoned block devices do not support
755849ab826SEric Biggers		zone commands, they will be treated as regular block devices and
756849ab826SEric Biggers		zoned will report "none".
75707c9093cSEric Biggers
75807c9093cSEric Biggers
759e3306221SSagi GrimbergWhat:		/sys/block/<disk>/hidden
760e3306221SSagi GrimbergDate:		March 2023
761e3306221SSagi GrimbergContact:	linux-block@vger.kernel.org
762e3306221SSagi GrimbergDescription:
763e3306221SSagi Grimberg		[RO] the block device is hidden. it doesn’t produce events, and
764e3306221SSagi Grimberg		can’t be opened from userspace or using blkdev_get*.
765e3306221SSagi Grimberg		Used for the underlying components of multipath devices.
766e3306221SSagi Grimberg
767e3306221SSagi Grimberg
768ae7a7a53SEric BiggersWhat:		/sys/block/<disk>/stat
769ae7a7a53SEric BiggersDate:		February 2008
770ae7a7a53SEric BiggersContact:	Jerome Marchand <jmarchan@redhat.com>
771ae7a7a53SEric BiggersDescription:
772ae7a7a53SEric Biggers		The /sys/block/<disk>/stat files displays the I/O
773ae7a7a53SEric Biggers		statistics of disk <disk>. They contain 11 fields:
774ae7a7a53SEric Biggers
775ae7a7a53SEric Biggers		==  ==============================================
776ae7a7a53SEric Biggers		 1  reads completed successfully
777ae7a7a53SEric Biggers		 2  reads merged
778ae7a7a53SEric Biggers		 3  sectors read
779ae7a7a53SEric Biggers		 4  time spent reading (ms)
780ae7a7a53SEric Biggers		 5  writes completed
781ae7a7a53SEric Biggers		 6  writes merged
782ae7a7a53SEric Biggers		 7  sectors written
783ae7a7a53SEric Biggers		 8  time spent writing (ms)
784ae7a7a53SEric Biggers		 9  I/Os currently in progress
785ae7a7a53SEric Biggers		10  time spent doing I/Os (ms)
786ae7a7a53SEric Biggers		11  weighted time spent doing I/Os (ms)
787ae7a7a53SEric Biggers		12  discards completed
788ae7a7a53SEric Biggers		13  discards merged
789ae7a7a53SEric Biggers		14  sectors discarded
790ae7a7a53SEric Biggers		15  time spent discarding (ms)
791ae7a7a53SEric Biggers		16  flush requests completed
792ae7a7a53SEric Biggers		17  time spent flushing (ms)
793ae7a7a53SEric Biggers		==  ==============================================
794ae7a7a53SEric Biggers
795ae7a7a53SEric Biggers		For more details refer Documentation/admin-guide/iostats.rst
796