diff options
Diffstat (limited to 'Documentation/device-mapper/thin-provisioning.txt')
| -rw-r--r-- | Documentation/device-mapper/thin-provisioning.txt | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/Documentation/device-mapper/thin-provisioning.txt b/Documentation/device-mapper/thin-provisioning.txt index 8a7a3d46e0da..05a27e9442bd 100644 --- a/Documentation/device-mapper/thin-provisioning.txt +++ b/Documentation/device-mapper/thin-provisioning.txt | |||
| @@ -116,6 +116,35 @@ Resuming a device with a new table itself triggers an event so the | |||
| 116 | userspace daemon can use this to detect a situation where a new table | 116 | userspace daemon can use this to detect a situation where a new table |
| 117 | already exceeds the threshold. | 117 | already exceeds the threshold. |
| 118 | 118 | ||
| 119 | A low water mark for the metadata device is maintained in the kernel and | ||
| 120 | will trigger a dm event if free space on the metadata device drops below | ||
| 121 | it. | ||
| 122 | |||
| 123 | Updating on-disk metadata | ||
| 124 | ------------------------- | ||
| 125 | |||
| 126 | On-disk metadata is committed every time a FLUSH or FUA bio is written. | ||
| 127 | If no such requests are made then commits will occur every second. This | ||
| 128 | means the thin-provisioning target behaves like a physical disk that has | ||
| 129 | a volatile write cache. If power is lost you may lose some recent | ||
| 130 | writes. The metadata should always be consistent in spite of any crash. | ||
| 131 | |||
| 132 | If data space is exhausted the pool will either error or queue IO | ||
| 133 | according to the configuration (see: error_if_no_space). If metadata | ||
| 134 | space is exhausted or a metadata operation fails: the pool will error IO | ||
| 135 | until the pool is taken offline and repair is performed to 1) fix any | ||
| 136 | potential inconsistencies and 2) clear the flag that imposes repair. | ||
| 137 | Once the pool's metadata device is repaired it may be resized, which | ||
| 138 | will allow the pool to return to normal operation. Note that if a pool | ||
| 139 | is flagged as needing repair, the pool's data and metadata devices | ||
| 140 | cannot be resized until repair is performed. It should also be noted | ||
| 141 | that when the pool's metadata space is exhausted the current metadata | ||
| 142 | transaction is aborted. Given that the pool will cache IO whose | ||
| 143 | completion may have already been acknowledged to upper IO layers | ||
| 144 | (e.g. filesystem) it is strongly suggested that consistency checks | ||
| 145 | (e.g. fsck) be performed on those layers when repair of the pool is | ||
| 146 | required. | ||
| 147 | |||
| 119 | Thin provisioning | 148 | Thin provisioning |
| 120 | ----------------- | 149 | ----------------- |
| 121 | 150 | ||
| @@ -258,10 +287,9 @@ ii) Status | |||
| 258 | should register for the event and then check the target's status. | 287 | should register for the event and then check the target's status. |
| 259 | 288 | ||
| 260 | held metadata root: | 289 | held metadata root: |
| 261 | The location, in sectors, of the metadata root that has been | 290 | The location, in blocks, of the metadata root that has been |
| 262 | 'held' for userspace read access. '-' indicates there is no | 291 | 'held' for userspace read access. '-' indicates there is no |
| 263 | held root. This feature is not yet implemented so '-' is | 292 | held root. |
| 264 | always returned. | ||
| 265 | 293 | ||
| 266 | discard_passdown|no_discard_passdown | 294 | discard_passdown|no_discard_passdown |
| 267 | Whether or not discards are actually being passed down to the | 295 | Whether or not discards are actually being passed down to the |
