Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

block: Add sysfs documentation for the discard topology parameters

Add documentation for the discard I/O topology parameters exported in
sysfs.

Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>

authored by

Martin K. Petersen and committed by
Jens Axboe
d70d0711 a934a00a

+64
+64
Documentation/ABI/testing/sysfs-block
··· 142 142 with the previous I/O request are enabled. When set to 2, 143 143 all merge tries are disabled. The default value is 0 - 144 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.