|  | What:		/sys/block/<disk>/stat | 
|  | Date:		February 2008 | 
|  | Contact:	Jerome Marchand <jmarchan@redhat.com> | 
|  | Description: | 
|  | The /sys/block/<disk>/stat files displays the I/O | 
|  | statistics of disk <disk>. They contain 11 fields: | 
|  | 1 - reads completed successfully | 
|  | 2 - reads merged | 
|  | 3 - sectors read | 
|  | 4 - time spent reading (ms) | 
|  | 5 - writes completed | 
|  | 6 - writes merged | 
|  | 7 - sectors written | 
|  | 8 - time spent writing (ms) | 
|  | 9 - I/Os currently in progress | 
|  | 10 - time spent doing I/Os (ms) | 
|  | 11 - weighted time spent doing I/Os (ms) | 
|  | For more details refer Documentation/iostats.txt | 
|  |  | 
|  |  | 
|  | What:		/sys/block/<disk>/<part>/stat | 
|  | Date:		February 2008 | 
|  | Contact:	Jerome Marchand <jmarchan@redhat.com> | 
|  | Description: | 
|  | The /sys/block/<disk>/<part>/stat files display the | 
|  | I/O statistics of partition <part>. The format is the | 
|  | same as the above-written /sys/block/<disk>/stat | 
|  | format. | 
|  |  | 
|  |  | 
|  | What:		/sys/block/<disk>/integrity/format | 
|  | Date:		June 2008 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Metadata format for integrity capable block device. | 
|  | E.g. T10-DIF-TYPE1-CRC. | 
|  |  | 
|  |  | 
|  | What:		/sys/block/<disk>/integrity/read_verify | 
|  | Date:		June 2008 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Indicates whether the block layer should verify the | 
|  | integrity of read requests serviced by devices that | 
|  | support sending integrity metadata. | 
|  |  | 
|  |  | 
|  | What:		/sys/block/<disk>/integrity/tag_size | 
|  | Date:		June 2008 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Number of bytes of integrity tag space available per | 
|  | 512 bytes of data. | 
|  |  | 
|  |  | 
|  | What:		/sys/block/<disk>/integrity/device_is_integrity_capable | 
|  | Date:		July 2014 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Indicates whether a storage device is capable of storing | 
|  | integrity metadata. Set if the device is T10 PI-capable. | 
|  |  | 
|  | What:		/sys/block/<disk>/integrity/protection_interval_bytes | 
|  | Date:		July 2015 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Describes the number of data bytes which are protected | 
|  | by one integrity tuple. Typically the device's logical | 
|  | block size. | 
|  |  | 
|  | What:		/sys/block/<disk>/integrity/write_generate | 
|  | Date:		June 2008 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Indicates whether the block layer should automatically | 
|  | generate checksums for write requests bound for | 
|  | devices that support receiving integrity metadata. | 
|  |  | 
|  | What:		/sys/block/<disk>/alignment_offset | 
|  | Date:		April 2009 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Storage devices may report a physical block size that is | 
|  | bigger than the logical block size (for instance a drive | 
|  | with 4KB physical sectors exposing 512-byte logical | 
|  | blocks to the operating system).  This parameter | 
|  | indicates how many bytes the beginning of the device is | 
|  | offset from the disk's natural alignment. | 
|  |  | 
|  | What:		/sys/block/<disk>/<partition>/alignment_offset | 
|  | Date:		April 2009 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Storage devices may report a physical block size that is | 
|  | bigger than the logical block size (for instance a drive | 
|  | with 4KB physical sectors exposing 512-byte logical | 
|  | blocks to the operating system).  This parameter | 
|  | indicates how many bytes the beginning of the partition | 
|  | is offset from the disk's natural alignment. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/logical_block_size | 
|  | Date:		May 2009 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | This is the smallest unit the storage device can | 
|  | address.  It is typically 512 bytes. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/physical_block_size | 
|  | Date:		May 2009 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | This is the smallest unit a physical storage device can | 
|  | write atomically.  It is usually the same as the logical | 
|  | block size but may be bigger.  One example is SATA | 
|  | drives with 4KB sectors that expose a 512-byte logical | 
|  | block size to the operating system.  For stacked block | 
|  | devices the physical_block_size variable contains the | 
|  | maximum physical_block_size of the component devices. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/minimum_io_size | 
|  | Date:		April 2009 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Storage devices may report a granularity or preferred | 
|  | minimum I/O size which is the smallest request the | 
|  | device can perform without incurring a performance | 
|  | penalty.  For disk drives this is often the physical | 
|  | block size.  For RAID arrays it is often the stripe | 
|  | chunk size.  A properly aligned multiple of | 
|  | minimum_io_size is the preferred request size for | 
|  | workloads where a high number of I/O operations is | 
|  | desired. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/optimal_io_size | 
|  | Date:		April 2009 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Storage devices may report an optimal I/O size, which is | 
|  | the device's preferred unit for sustained I/O.  This is | 
|  | rarely reported for disk drives.  For RAID arrays it is | 
|  | usually the stripe width or the internal track size.  A | 
|  | properly aligned multiple of optimal_io_size is the | 
|  | preferred request size for workloads where sustained | 
|  | throughput is desired.  If no optimal I/O size is | 
|  | reported this file contains 0. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/nomerges | 
|  | Date:		January 2010 | 
|  | Contact: | 
|  | Description: | 
|  | Standard I/O elevator operations include attempts to | 
|  | merge contiguous I/Os. For known random I/O loads these | 
|  | attempts will always fail and result in extra cycles | 
|  | being spent in the kernel. This allows one to turn off | 
|  | this behavior on one of two ways: When set to 1, complex | 
|  | merge checks are disabled, but the simple one-shot merges | 
|  | with the previous I/O request are enabled. When set to 2, | 
|  | all merge tries are disabled. The default value is 0 - | 
|  | which enables all types of merge tries. | 
|  |  | 
|  | What:		/sys/block/<disk>/discard_alignment | 
|  | Date:		May 2011 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Devices that support discard functionality may | 
|  | internally allocate space in units that are bigger than | 
|  | the exported logical block size. The discard_alignment | 
|  | parameter indicates how many bytes the beginning of the | 
|  | device is offset from the internal allocation unit's | 
|  | natural alignment. | 
|  |  | 
|  | What:		/sys/block/<disk>/<partition>/discard_alignment | 
|  | Date:		May 2011 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Devices that support discard functionality may | 
|  | internally allocate space in units that are bigger than | 
|  | the exported logical block size. The discard_alignment | 
|  | parameter indicates how many bytes the beginning of the | 
|  | partition is offset from the internal allocation unit's | 
|  | natural alignment. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/discard_granularity | 
|  | Date:		May 2011 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Devices that support discard functionality may | 
|  | internally allocate space using units that are bigger | 
|  | than the logical block size. The discard_granularity | 
|  | parameter indicates the size of the internal allocation | 
|  | unit in bytes if reported by the device. Otherwise the | 
|  | discard_granularity will be set to match the device's | 
|  | physical block size. A discard_granularity of 0 means | 
|  | that the device does not support discard functionality. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/discard_max_bytes | 
|  | Date:		May 2011 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Devices that support discard functionality may have | 
|  | internal limits on the number of bytes that can be | 
|  | trimmed or unmapped in a single operation. Some storage | 
|  | protocols also have inherent limits on the number of | 
|  | blocks that can be described in a single command. The | 
|  | discard_max_bytes parameter is set by the device driver | 
|  | to the maximum number of bytes that can be discarded in | 
|  | a single operation. Discard requests issued to the | 
|  | device must not exceed this limit. A discard_max_bytes | 
|  | value of 0 means that the device does not support | 
|  | discard functionality. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/discard_zeroes_data | 
|  | Date:		May 2011 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Will always return 0.  Don't rely on any specific behavior | 
|  | for discards, and don't read this file. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/write_same_max_bytes | 
|  | Date:		January 2012 | 
|  | Contact:	Martin K. Petersen <martin.petersen@oracle.com> | 
|  | Description: | 
|  | Some devices support a write same operation in which a | 
|  | single data block can be written to a range of several | 
|  | contiguous blocks on storage. This can be used to wipe | 
|  | areas on disk or to initialize drives in a RAID | 
|  | configuration. write_same_max_bytes indicates how many | 
|  | bytes can be written in a single write same command. If | 
|  | write_same_max_bytes is 0, write same is not supported | 
|  | by the device. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/write_zeroes_max_bytes | 
|  | Date:		November 2016 | 
|  | Contact:	Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> | 
|  | Description: | 
|  | Devices that support write zeroes operation in which a | 
|  | single request can be issued to zero out the range of | 
|  | contiguous blocks on storage without having any payload | 
|  | in the request. This can be used to optimize writing zeroes | 
|  | to the devices. write_zeroes_max_bytes indicates how many | 
|  | bytes can be written in a single write zeroes command. If | 
|  | write_zeroes_max_bytes is 0, write zeroes is not supported | 
|  | by the device. | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/zoned | 
|  | Date:		September 2016 | 
|  | Contact:	Damien Le Moal <damien.lemoal@hgst.com> | 
|  | Description: | 
|  | zoned indicates if the device is a zoned block device | 
|  | and the zone model of the device if it is indeed zoned. | 
|  | The possible values indicated by zoned are "none" for | 
|  | regular block devices and "host-aware" or "host-managed" | 
|  | for zoned block devices. The characteristics of | 
|  | host-aware and host-managed zoned block devices are | 
|  | described in the ZBC (Zoned Block Commands) and ZAC | 
|  | (Zoned Device ATA Command Set) standards. These standards | 
|  | also define the "drive-managed" zone model. However, | 
|  | since drive-managed zoned block devices do not support | 
|  | zone commands, they will be treated as regular block | 
|  | devices and zoned will report "none". | 
|  |  | 
|  | What:		/sys/block/<disk>/queue/chunk_sectors | 
|  | Date:		September 2016 | 
|  | Contact:	Hannes Reinecke <hare@suse.com> | 
|  | Description: | 
|  | chunk_sectors has different meaning depending on the type | 
|  | of the disk. For a RAID device (dm-raid), chunk_sectors | 
|  | indicates the size in 512B sectors of the RAID volume | 
|  | stripe segment. For a zoned block device, either | 
|  | host-aware or host-managed, chunk_sectors indicates the | 
|  | size of 512B sectors of the zones of the device, with | 
|  | the eventual exception of the last zone of the device | 
|  | which may be smaller. |