Add documentation for the discard I/O topology parameters exported in sysfs.
Unified · Split
| @@ -142,3 +142,67 @@ Description: · 141 unmodified lines | |||
| 142 | with the previous I/O request are enabled. When set to 2, | 142 | with the previous I/O request are enabled. When set to 2, |
| 143 | all merge tries are disabled. The default value is 0 - | 143 | all merge tries are disabled. The default value is 0 - |
| 144 | which enables all types of merge tries. | 144 | which enables all types of merge tries. |
| 145 | |||
| 146 | What: /sys/block/<disk>/discard_alignment | ||
| 147 | Date: May 2011 | ||
| 148 | Contact: Martin K. Petersen <martin.petersen@oracle.com> | ||
| 149 | Description: | ||
| 150 | Devices that support discard functionality may | ||
| 151 | internally allocate space in units that are bigger than | ||
| 152 | the exported logical block size. The discard_alignment | ||
| 153 | parameter indicates how many bytes the beginning of the | ||
| 154 | device is offset from the internal allocation unit's | ||
| 155 | natural alignment. | ||
| 156 | |||
| 157 | What: /sys/block/<disk>/<partition>/discard_alignment | ||
| 158 | Date: May 2011 | ||
| 159 | Contact: Martin K. Petersen <martin.petersen@oracle.com> | ||
| 160 | Description: | ||
| 161 | Devices that support discard functionality may | ||
| 162 | internally allocate space in units that are bigger than | ||
| 163 | the exported logical block size. The discard_alignment | ||
| 164 | parameter indicates how many bytes the beginning of the | ||
| 165 | partition is offset from the internal allocation unit's | ||
| 166 | natural alignment. | ||
| 167 | |||
| 168 | What: /sys/block/<disk>/queue/discard_granularity | ||
| 169 | Date: May 2011 | ||
| 170 | Contact: Martin K. Petersen <martin.petersen@oracle.com> | ||
| 171 | Description: | ||
| 172 | Devices that support discard functionality may | ||
| 173 | internally allocate space using units that are bigger | ||
| 174 | than the logical block size. The discard_granularity | ||
| 175 | parameter indicates the size of the internal allocation | ||
| 176 | unit in bytes if reported by the device. Otherwise the | ||
| 177 | discard_granularity will be set to match the device's | ||
| 178 | physical block size. A discard_granularity of 0 means | ||
| 179 | that the device does not support discard functionality. | ||
| 180 | |||
| 181 | What: /sys/block/<disk>/queue/discard_max_bytes | ||
| 182 | Date: May 2011 | ||
| 183 | Contact: Martin K. Petersen <martin.petersen@oracle.com> | ||
| 184 | Description: | ||
| 185 | Devices that support discard functionality may have | ||
| 186 | internal limits on the number of bytes that can be | ||
| 187 | trimmed or unmapped in a single operation. Some storage | ||
| 188 | protocols also have inherent limits on the number of | ||
| 189 | blocks that can be described in a single command. The | ||
| 190 | discard_max_bytes parameter is set by the device driver | ||
| 191 | to the maximum number of bytes that can be discarded in | ||
| 192 | a single operation. Discard requests issued to the | ||
| 193 | device must not exceed this limit. A discard_max_bytes | ||
| 194 | value of 0 means that the device does not support | ||
| 195 | discard functionality. | ||
| 196 | |||
| 197 | What: /sys/block/<disk>/queue/discard_zeroes_data | ||
| 198 | Date: May 2011 | ||
| 199 | Contact: Martin K. Petersen <martin.petersen@oracle.com> | ||
| 200 | Description: | ||
| 201 | Devices that support discard functionality may return | ||
| 202 | stale or random data when a previously discarded block | ||
| 203 | is read back. This can cause problems if the filesystem | ||
| 204 | expects discarded blocks to be explicitly cleared. If a | ||
| 205 | device reports that it deterministically returns zeroes | ||
| 206 | when a discarded area is read the discard_zeroes_data | ||
| 207 | parameter will be set to one. Otherwise it will be 0 and | ||
| 208 | the result of reading a discarded area is undefined. | ||