1What:		/sys/block/<disk>/alignment_offset
2Date:		April 2009
3Contact:	Martin K. Petersen <martin.petersen@oracle.com>
4Description:
5		Storage devices may report a physical block size that is
6		bigger than the logical block size (for instance a drive
7		with 4KB physical sectors exposing 512-byte logical
8		blocks to the operating system).  This parameter
9		indicates how many bytes the beginning of the device is
10		offset from the disk's natural alignment.
11
12
13What:		/sys/block/<disk>/discard_alignment
14Date:		May 2011
15Contact:	Martin K. Petersen <martin.petersen@oracle.com>
16Description:
17		Devices that support discard functionality may
18		internally allocate space in units that are bigger than
19		the exported logical block size. The discard_alignment
20		parameter indicates how many bytes the beginning of the
21		device is offset from the internal allocation unit's
22		natural alignment.
23
24
25What:		/sys/block/<disk>/diskseq
26Date:		February 2021
27Contact:	Matteo Croce <mcroce@microsoft.com>
28Description:
29		The /sys/block/<disk>/diskseq files reports the disk
30		sequence number, which is a monotonically increasing
31		number assigned to every drive.
32		Some devices, like the loop device, refresh such number
33		every time the backing file is changed.
34		The value type is 64 bit unsigned.
35
36
37What:		/sys/block/<disk>/inflight
38Date:		October 2009
39Contact:	Jens Axboe <axboe@kernel.dk>, Nikanth Karthikesan <knikanth@suse.de>
40Description:
41		Reports the number of I/O requests currently in progress
42		(pending / in flight) in a device driver. This can be less
43		than the number of requests queued in the block device queue.
44		The report contains 2 fields: one for read requests
45		and one for write requests.
46		The value type is unsigned int.
47		Cf. Documentation/block/stat.rst which contains a single value for
48		requests in flight.
49		This is related to nr_requests in Documentation/block/queue-sysfs.rst
50		and for SCSI device also its queue_depth.
51
52
53What:		/sys/block/<disk>/integrity/device_is_integrity_capable
54Date:		July 2014
55Contact:	Martin K. Petersen <martin.petersen@oracle.com>
56Description:
57		Indicates whether a storage device is capable of storing
58		integrity metadata. Set if the device is T10 PI-capable.
59
60
61What:		/sys/block/<disk>/integrity/format
62Date:		June 2008
63Contact:	Martin K. Petersen <martin.petersen@oracle.com>
64Description:
65		Metadata format for integrity capable block device.
66		E.g. T10-DIF-TYPE1-CRC.
67
68
69What:		/sys/block/<disk>/integrity/protection_interval_bytes
70Date:		July 2015
71Contact:	Martin K. Petersen <martin.petersen@oracle.com>
72Description:
73		Describes the number of data bytes which are protected
74		by one integrity tuple. Typically the device's logical
75		block size.
76
77
78What:		/sys/block/<disk>/integrity/read_verify
79Date:		June 2008
80Contact:	Martin K. Petersen <martin.petersen@oracle.com>
81Description:
82		Indicates whether the block layer should verify the
83		integrity of read requests serviced by devices that
84		support sending integrity metadata.
85
86
87What:		/sys/block/<disk>/integrity/tag_size
88Date:		June 2008
89Contact:	Martin K. Petersen <martin.petersen@oracle.com>
90Description:
91		Number of bytes of integrity tag space available per
92		512 bytes of data.
93
94
95What:		/sys/block/<disk>/integrity/write_generate
96Date:		June 2008
97Contact:	Martin K. Petersen <martin.petersen@oracle.com>
98Description:
99		Indicates whether the block layer should automatically
100		generate checksums for write requests bound for
101		devices that support receiving integrity metadata.
102
103
104What:		/sys/block/<disk>/<partition>/alignment_offset
105Date:		April 2009
106Contact:	Martin K. Petersen <martin.petersen@oracle.com>
107Description:
108		Storage devices may report a physical block size that is
109		bigger than the logical block size (for instance a drive
110		with 4KB physical sectors exposing 512-byte logical
111		blocks to the operating system).  This parameter
112		indicates how many bytes the beginning of the partition
113		is offset from the disk's natural alignment.
114
115
116What:		/sys/block/<disk>/<partition>/discard_alignment
117Date:		May 2011
118Contact:	Martin K. Petersen <martin.petersen@oracle.com>
119Description:
120		Devices that support discard functionality may
121		internally allocate space in units that are bigger than
122		the exported logical block size. The discard_alignment
123		parameter indicates how many bytes the beginning of the
124		partition is offset from the internal allocation unit's
125		natural alignment.
126
127
128What:		/sys/block/<disk>/<partition>/stat
129Date:		February 2008
130Contact:	Jerome Marchand <jmarchan@redhat.com>
131Description:
132		The /sys/block/<disk>/<partition>/stat files display the
133		I/O statistics of partition <partition>. The format is the
134		same as the format of /sys/block/<disk>/stat.
135
136
137What:		/sys/block/<disk>/queue/chunk_sectors
138Date:		September 2016
139Contact:	Hannes Reinecke <hare@suse.com>
140Description:
141		chunk_sectors has different meaning depending on the type
142		of the disk. For a RAID device (dm-raid), chunk_sectors
143		indicates the size in 512B sectors of the RAID volume
144		stripe segment. For a zoned block device, either
145		host-aware or host-managed, chunk_sectors indicates the
146		size in 512B sectors of the zones of the device, with
147		the eventual exception of the last zone of the device
148		which may be smaller.
149
150
151What:		/sys/block/<disk>/queue/discard_granularity
152Date:		May 2011
153Contact:	Martin K. Petersen <martin.petersen@oracle.com>
154Description:
155		Devices that support discard functionality may
156		internally allocate space using units that are bigger
157		than the logical block size. The discard_granularity
158		parameter indicates the size of the internal allocation
159		unit in bytes if reported by the device. Otherwise the
160		discard_granularity will be set to match the device's
161		physical block size. A discard_granularity of 0 means
162		that the device does not support discard functionality.
163
164
165What:		/sys/block/<disk>/queue/discard_max_bytes
166Date:		May 2011
167Contact:	Martin K. Petersen <martin.petersen@oracle.com>
168Description:
169		Devices that support discard functionality may have
170		internal limits on the number of bytes that can be
171		trimmed or unmapped in a single operation. Some storage
172		protocols also have inherent limits on the number of
173		blocks that can be described in a single command. The
174		discard_max_bytes parameter is set by the device driver
175		to the maximum number of bytes that can be discarded in
176		a single operation. Discard requests issued to the
177		device must not exceed this limit. A discard_max_bytes
178		value of 0 means that the device does not support
179		discard functionality.
180
181
182What:		/sys/block/<disk>/queue/discard_zeroes_data
183Date:		May 2011
184Contact:	Martin K. Petersen <martin.petersen@oracle.com>
185Description:
186		Will always return 0.  Don't rely on any specific behavior
187		for discards, and don't read this file.
188
189
190What:		/sys/block/<disk>/queue/io_timeout
191Date:		November 2018
192Contact:	Weiping Zhang <zhangweiping@didiglobal.com>
193Description:
194		io_timeout is the request timeout in milliseconds. If a request
195		does not complete in this time then the block driver timeout
196		handler is invoked. That timeout handler can decide to retry
197		the request, to fail it or to start a device recovery strategy.
198
199
200What:		/sys/block/<disk>/queue/logical_block_size
201Date:		May 2009
202Contact:	Martin K. Petersen <martin.petersen@oracle.com>
203Description:
204		This is the smallest unit the storage device can
205		address.  It is typically 512 bytes.
206
207
208What:		/sys/block/<disk>/queue/max_active_zones
209Date:		July 2020
210Contact:	Niklas Cassel <niklas.cassel@wdc.com>
211Description:
212		For zoned block devices (zoned attribute indicating
213		"host-managed" or "host-aware"), the sum of zones belonging to
214		any of the zone states: EXPLICIT OPEN, IMPLICIT OPEN or CLOSED,
215		is limited by this value. If this value is 0, there is no limit.
216
217
218What:		/sys/block/<disk>/queue/max_open_zones
219Date:		July 2020
220Contact:	Niklas Cassel <niklas.cassel@wdc.com>
221Description:
222		For zoned block devices (zoned attribute indicating
223		"host-managed" or "host-aware"), the sum of zones belonging to
224		any of the zone states: EXPLICIT OPEN or IMPLICIT OPEN,
225		is limited by this value. If this value is 0, there is no limit.
226
227
228What:		/sys/block/<disk>/queue/minimum_io_size
229Date:		April 2009
230Contact:	Martin K. Petersen <martin.petersen@oracle.com>
231Description:
232		Storage devices may report a granularity or preferred
233		minimum I/O size which is the smallest request the
234		device can perform without incurring a performance
235		penalty.  For disk drives this is often the physical
236		block size.  For RAID arrays it is often the stripe
237		chunk size.  A properly aligned multiple of
238		minimum_io_size is the preferred request size for
239		workloads where a high number of I/O operations is
240		desired.
241
242
243What:		/sys/block/<disk>/queue/nomerges
244Date:		January 2010
245Contact:	linux-block@vger.kernel.org
246Description:
247		Standard I/O elevator operations include attempts to
248		merge contiguous I/Os. For known random I/O loads these
249		attempts will always fail and result in extra cycles
250		being spent in the kernel. This allows one to turn off
251		this behavior on one of two ways: When set to 1, complex
252		merge checks are disabled, but the simple one-shot merges
253		with the previous I/O request are enabled. When set to 2,
254		all merge tries are disabled. The default value is 0 -
255		which enables all types of merge tries.
256
257
258What:		/sys/block/<disk>/queue/nr_zones
259Date:		November 2018
260Contact:	Damien Le Moal <damien.lemoal@wdc.com>
261Description:
262		nr_zones indicates the total number of zones of a zoned block
263		device ("host-aware" or "host-managed" zone model). For regular
264		block devices, the value is always 0.
265
266
267What:		/sys/block/<disk>/queue/optimal_io_size
268Date:		April 2009
269Contact:	Martin K. Petersen <martin.petersen@oracle.com>
270Description:
271		Storage devices may report an optimal I/O size, which is
272		the device's preferred unit for sustained I/O.  This is
273		rarely reported for disk drives.  For RAID arrays it is
274		usually the stripe width or the internal track size.  A
275		properly aligned multiple of optimal_io_size is the
276		preferred request size for workloads where sustained
277		throughput is desired.  If no optimal I/O size is
278		reported this file contains 0.
279
280
281What:		/sys/block/<disk>/queue/physical_block_size
282Date:		May 2009
283Contact:	Martin K. Petersen <martin.petersen@oracle.com>
284Description:
285		This is the smallest unit a physical storage device can
286		write atomically.  It is usually the same as the logical
287		block size but may be bigger.  One example is SATA
288		drives with 4KB sectors that expose a 512-byte logical
289		block size to the operating system.  For stacked block
290		devices the physical_block_size variable contains the
291		maximum physical_block_size of the component devices.
292
293
294What:		/sys/block/<disk>/queue/write_same_max_bytes
295Date:		January 2012
296Contact:	Martin K. Petersen <martin.petersen@oracle.com>
297Description:
298		Some devices support a write same operation in which a
299		single data block can be written to a range of several
300		contiguous blocks on storage. This can be used to wipe
301		areas on disk or to initialize drives in a RAID
302		configuration. write_same_max_bytes indicates how many
303		bytes can be written in a single write same command. If
304		write_same_max_bytes is 0, write same is not supported
305		by the device.
306
307
308What:		/sys/block/<disk>/queue/write_zeroes_max_bytes
309Date:		November 2016
310Contact:	Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
311Description:
312		Devices that support write zeroes operation in which a
313		single request can be issued to zero out the range of
314		contiguous blocks on storage without having any payload
315		in the request. This can be used to optimize writing zeroes
316		to the devices. write_zeroes_max_bytes indicates how many
317		bytes can be written in a single write zeroes command. If
318		write_zeroes_max_bytes is 0, write zeroes is not supported
319		by the device.
320
321
322What:		/sys/block/<disk>/queue/zoned
323Date:		September 2016
324Contact:	Damien Le Moal <damien.lemoal@wdc.com>
325Description:
326		zoned indicates if the device is a zoned block device
327		and the zone model of the device if it is indeed zoned.
328		The possible values indicated by zoned are "none" for
329		regular block devices and "host-aware" or "host-managed"
330		for zoned block devices. The characteristics of
331		host-aware and host-managed zoned block devices are
332		described in the ZBC (Zoned Block Commands) and ZAC
333		(Zoned Device ATA Command Set) standards. These standards
334		also define the "drive-managed" zone model. However,
335		since drive-managed zoned block devices do not support
336		zone commands, they will be treated as regular block
337		devices and zoned will report "none".
338
339
340What:		/sys/block/<disk>/stat
341Date:		February 2008
342Contact:	Jerome Marchand <jmarchan@redhat.com>
343Description:
344		The /sys/block/<disk>/stat files displays the I/O
345		statistics of disk <disk>. They contain 11 fields:
346
347		==  ==============================================
348		 1  reads completed successfully
349		 2  reads merged
350		 3  sectors read
351		 4  time spent reading (ms)
352		 5  writes completed
353		 6  writes merged
354		 7  sectors written
355		 8  time spent writing (ms)
356		 9  I/Os currently in progress
357		10  time spent doing I/Os (ms)
358		11  weighted time spent doing I/Os (ms)
359		12  discards completed
360		13  discards merged
361		14  sectors discarded
362		15  time spent discarding (ms)
363		16  flush requests completed
364		17  time spent flushing (ms)
365		==  ==============================================
366
367		For more details refer Documentation/admin-guide/iostats.rst
368