diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-30 13:39:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-07-30 13:39:18 -0400 |
commit | 7272c30b6fbc051bf8a3f3c973e64f230c91c8b3 (patch) | |
tree | 0989d2d97282e1f00aaa3575d459fcb5ce0beac1 /Documentation | |
parent | 6f51f51582e793ea13e7de7ed6b138f71c51784b (diff) | |
parent | 1f4e0ff07980820977f45d6a5dbc81d3bb9ce4d3 (diff) |
Merge tag 'dm-3.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm
Pull device-mapper updates from Alasdair G Kergon:
- Flip the thin target into new read-only or failed modes if errors
are detected;
- Handle chunk sizes that are not powers of two in the snapshot and
thin targets;
- Provide a way for userspace to avoid replacing an already-loaded
multipath hardware handler while booting;
- Reduce dm_thin_endio_hook slab size to avoid allocation failures;
- Numerous small changes and cleanups to the code.
* tag 'dm-3.6-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-dm: (63 commits)
dm thin: commit before gathering status
dm thin: add read only and fail io modes
dm thin metadata: introduce dm_pool_abort_metadata
dm thin metadata: introduce dm_pool_metadata_set_read_only
dm persistent data: introduce dm_bm_set_read_only
dm thin: reduce number of metadata commits
dm thin metadata: add dm_thin_changed_this_transaction
dm thin metadata: add format option to dm_pool_metadata_open
dm thin metadata: tidy up open and format error paths
dm thin metadata: only check incompat features on open
dm thin metadata: remove duplicate pmd initialisation
dm thin metadata: remove create parameter from __create_persistent_data_objects
dm thin metadata: move __superblock_all_zeroes to __open_or_format_metadata
dm thin metadata: remove nr_blocks arg from __create_persistent_data_objects
dm thin metadata: split __open or format metadata
dm thin metadata: use struct dm_pool_metadata members in __open_or_format_metadata
dm thin metadata: zero unused superblock uuid
dm thin metadata: lift __begin_transaction out of __write_initial_superblock
dm thin metadata: move dm_commit_pool_metadata into __write_initial_superblock
dm thin metadata: factor out __write_initial_superblock
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/device-mapper/striped.txt | 7 | ||||
-rw-r--r-- | Documentation/device-mapper/thin-provisioning.txt | 24 |
2 files changed, 26 insertions, 5 deletions
diff --git a/Documentation/device-mapper/striped.txt b/Documentation/device-mapper/striped.txt index f34d3236b9d..45f3b91ea4c 100644 --- a/Documentation/device-mapper/striped.txt +++ b/Documentation/device-mapper/striped.txt | |||
@@ -9,15 +9,14 @@ devices in parallel. | |||
9 | 9 | ||
10 | Parameters: <num devs> <chunk size> [<dev path> <offset>]+ | 10 | Parameters: <num devs> <chunk size> [<dev path> <offset>]+ |
11 | <num devs>: Number of underlying devices. | 11 | <num devs>: Number of underlying devices. |
12 | <chunk size>: Size of each chunk of data. Must be a power-of-2 and at | 12 | <chunk size>: Size of each chunk of data. Must be at least as |
13 | least as large as the system's PAGE_SIZE. | 13 | large as the system's PAGE_SIZE. |
14 | <dev path>: Full pathname to the underlying block-device, or a | 14 | <dev path>: Full pathname to the underlying block-device, or a |
15 | "major:minor" device-number. | 15 | "major:minor" device-number. |
16 | <offset>: Starting sector within the device. | 16 | <offset>: Starting sector within the device. |
17 | 17 | ||
18 | One or more underlying devices can be specified. The striped device size must | 18 | One or more underlying devices can be specified. The striped device size must |
19 | be a multiple of the chunk size and a multiple of the number of underlying | 19 | be a multiple of the chunk size multiplied by the number of underlying devices. |
20 | devices. | ||
21 | 20 | ||
22 | 21 | ||
23 | Example scripts | 22 | Example scripts |
diff --git a/Documentation/device-mapper/thin-provisioning.txt b/Documentation/device-mapper/thin-provisioning.txt index f5cfc62b7ad..30b8b83bd33 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 | |||
260 | iii) Messages | 278 | iii) 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. | |||
329 | ii) Status | 347 | ii) 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. | ||