aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/device-mapper
diff options
context:
space:
mode:
authorJoe Thornber <ejt@redhat.com>2012-07-27 10:08:16 -0400
committerAlasdair G Kergon <agk@redhat.com>2012-07-27 10:08:16 -0400
commite49e582965b3694f07a106adc83ddb44aa4f0890 (patch)
treefcc6ff02fd4bd9afa59b5fd3bdbb9991f1271d8a /Documentation/device-mapper
parentda105ed5fd7edcc5e0df7dbacef4dadda74e7ebe (diff)
dm thin: add read only and fail io modes
Add read-only and fail-io modes to thin provisioning. If a transaction commit fails the pool's metadata device will transition to "read-only" mode. If a commit fails once already in read-only mode the transition to "fail-io" mode occurs. Once in fail-io mode the pool and all associated thin devices will report a status of "Fail". Signed-off-by: Joe Thornber <ejt@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'Documentation/device-mapper')
-rw-r--r--Documentation/device-mapper/thin-provisioning.txt24
1 files changed, 23 insertions, 1 deletions
diff --git a/Documentation/device-mapper/thin-provisioning.txt b/Documentation/device-mapper/thin-provisioning.txt
index f5cfc62b7ad3..30b8b83bd333 100644
--- a/Documentation/device-mapper/thin-provisioning.txt
+++ b/Documentation/device-mapper/thin-provisioning.txt
@@ -231,6 +231,9 @@ i) Constructor
231 no_discard_passdown: Don't pass discards down to the underlying 231 no_discard_passdown: Don't pass discards down to the underlying
232 data device, but just remove the mapping. 232 data device, but just remove the mapping.
233 233
234 read_only: Don't allow any changes to be made to the pool
235 metadata.
236
234 Data block size must be between 64KB (128 sectors) and 1GB 237 Data block size must be between 64KB (128 sectors) and 1GB
235 (2097152 sectors) inclusive. 238 (2097152 sectors) inclusive.
236 239
@@ -239,7 +242,7 @@ ii) Status
239 242
240 <transaction id> <used metadata blocks>/<total metadata blocks> 243 <transaction id> <used metadata blocks>/<total metadata blocks>
241 <used data blocks>/<total data blocks> <held metadata root> 244 <used data blocks>/<total data blocks> <held metadata root>
242 245 [no_]discard_passdown ro|rw
243 246
244 transaction id: 247 transaction id:
245 A 64-bit number used by userspace to help synchronise with metadata 248 A 64-bit number used by userspace to help synchronise with metadata
@@ -257,6 +260,21 @@ ii) Status
257 held root. This feature is not yet implemented so '-' is 260 held root. This feature is not yet implemented so '-' is
258 always returned. 261 always returned.
259 262
263 discard_passdown|no_discard_passdown
264 Whether or not discards are actually being passed down to the
265 underlying device. When this is enabled when loading the table,
266 it can get disabled if the underlying device doesn't support it.
267
268 ro|rw
269 If the pool encounters certain types of device failures it will
270 drop into a read-only metadata mode in which no changes to
271 the pool metadata (like allocating new blocks) are permitted.
272
273 In serious cases where even a read-only mode is deemed unsafe
274 no further I/O will be permitted and the status will just
275 contain the string 'Fail'. The userspace recovery tools
276 should then be used.
277
260iii) Messages 278iii) Messages
261 279
262 create_thin <dev id> 280 create_thin <dev id>
@@ -329,3 +347,7 @@ regain some space then send the 'trim' message to the pool.
329ii) Status 347ii) Status
330 348
331 <nr mapped sectors> <highest mapped sector> 349 <nr mapped sectors> <highest mapped sector>
350
351 If the pool has encountered device errors and failed, the status
352 will just contain the string 'Fail'. The userspace recovery
353 tools should then be used.