diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-14 13:03:36 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-14 13:03:36 -0500 |
commit | 37222e1c9ee3ce587f5b41fed868bd8a592a992f (patch) | |
tree | b65f22a1e20286185463ca1a2889e593d963a393 /Documentation | |
parent | 76b8f82cde2d9c13ef0c9a9aa2581b9b30b68e8c (diff) | |
parent | 06e3c817b750c131a20e82eed57a17841ea88ed2 (diff) |
Merge branch 'for-linus' of git://neil.brown.name/md
* 'for-linus' of git://neil.brown.name/md: (27 commits)
md: add 'recovery_start' per-device sysfs attribute
md: rcu_read_lock() walk of mddev->disks in md_do_sync()
md: integrate spares into array at earliest opportunity.
md: move compat_ioctl handling into md.c
md: revise Kconfig help for MD_MULTIPATH
md: add MODULE_DESCRIPTION for all md related modules.
raid: improve MD/raid10 handling of correctable read errors.
md/raid10: print more useful messages on device failure.
md/bitmap: update dirty flag when bitmap bits are explicitly set.
md: Support write-intent bitmaps with externally managed metadata.
md/bitmap: move setting of daemon_lastrun out of bitmap_read_sb
md: support updating bitmap parameters via sysfs.
md: factor out parsing of fixed-point numbers
md: support bitmap offset appropriate for external-metadata arrays.
md: remove needless setting of thread->timeout in raid10_quiesce
md: change daemon_sleep to be in 'jiffies' rather than 'seconds'.
md: move offset, daemon_sleep and chunksize out of bitmap structure
md: collect bitmap-specific fields into one structure.
md/raid1: add takeover support for raid5->raid1
md: add honouring of suspend_{lo,hi} to raid1.
...
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/md.txt | 72 |
1 files changed, 68 insertions, 4 deletions
diff --git a/Documentation/md.txt b/Documentation/md.txt index 4edd39ec7db9..188f4768f1d5 100644 --- a/Documentation/md.txt +++ b/Documentation/md.txt | |||
@@ -233,9 +233,9 @@ All md devices contain: | |||
233 | 233 | ||
234 | resync_start | 234 | resync_start |
235 | The point at which resync should start. If no resync is needed, | 235 | The point at which resync should start. If no resync is needed, |
236 | this will be a very large number. At array creation it will | 236 | this will be a very large number (or 'none' since 2.6.30-rc1). At |
237 | default to 0, though starting the array as 'clean' will | 237 | array creation it will default to 0, though starting the array as |
238 | set it much larger. | 238 | 'clean' will set it much larger. |
239 | 239 | ||
240 | new_dev | 240 | new_dev |
241 | This file can be written but not read. The value written should | 241 | This file can be written but not read. The value written should |
@@ -296,6 +296,51 @@ All md devices contain: | |||
296 | active-idle | 296 | active-idle |
297 | like active, but no writes have been seen for a while (safe_mode_delay). | 297 | like active, but no writes have been seen for a while (safe_mode_delay). |
298 | 298 | ||
299 | bitmap/location | ||
300 | This indicates where the write-intent bitmap for the array is | ||
301 | stored. | ||
302 | It can be one of "none", "file" or "[+-]N". | ||
303 | "file" may later be extended to "file:/file/name" | ||
304 | "[+-]N" means that many sectors from the start of the metadata. | ||
305 | This is replicated on all devices. For arrays with externally | ||
306 | managed metadata, the offset is from the beginning of the | ||
307 | device. | ||
308 | bitmap/chunksize | ||
309 | The size, in bytes, of the chunk which will be represented by a | ||
310 | single bit. For RAID456, it is a portion of an individual | ||
311 | device. For RAID10, it is a portion of the array. For RAID1, it | ||
312 | is both (they come to the same thing). | ||
313 | bitmap/time_base | ||
314 | The time, in seconds, between looking for bits in the bitmap to | ||
315 | be cleared. In the current implementation, a bit will be cleared | ||
316 | between 2 and 3 times "time_base" after all the covered blocks | ||
317 | are known to be in-sync. | ||
318 | bitmap/backlog | ||
319 | When write-mostly devices are active in a RAID1, write requests | ||
320 | to those devices proceed in the background - the filesystem (or | ||
321 | other user of the device) does not have to wait for them. | ||
322 | 'backlog' sets a limit on the number of concurrent background | ||
323 | writes. If there are more than this, new writes will by | ||
324 | synchronous. | ||
325 | bitmap/metadata | ||
326 | This can be either 'internal' or 'external'. | ||
327 | 'internal' is the default and means the metadata for the bitmap | ||
328 | is stored in the first 256 bytes of the allocated space and is | ||
329 | managed by the md module. | ||
330 | 'external' means that bitmap metadata is managed externally to | ||
331 | the kernel (i.e. by some userspace program) | ||
332 | bitmap/can_clear | ||
333 | This is either 'true' or 'false'. If 'true', then bits in the | ||
334 | bitmap will be cleared when the corresponding blocks are thought | ||
335 | to be in-sync. If 'false', bits will never be cleared. | ||
336 | This is automatically set to 'false' if a write happens on a | ||
337 | degraded array, or if the array becomes degraded during a write. | ||
338 | When metadata is managed externally, it should be set to true | ||
339 | once the array becomes non-degraded, and this fact has been | ||
340 | recorded in the metadata. | ||
341 | |||
342 | |||
343 | |||
299 | 344 | ||
300 | As component devices are added to an md array, they appear in the 'md' | 345 | As component devices are added to an md array, they appear in the 'md' |
301 | directory as new directories named | 346 | directory as new directories named |
@@ -334,8 +379,9 @@ Each directory contains: | |||
334 | Writing "writemostly" sets the writemostly flag. | 379 | Writing "writemostly" sets the writemostly flag. |
335 | Writing "-writemostly" clears the writemostly flag. | 380 | Writing "-writemostly" clears the writemostly flag. |
336 | Writing "blocked" sets the "blocked" flag. | 381 | Writing "blocked" sets the "blocked" flag. |
337 | Writing "-blocked" clear the "blocked" flag and allows writes | 382 | Writing "-blocked" clears the "blocked" flag and allows writes |
338 | to complete. | 383 | to complete. |
384 | Writing "in_sync" sets the in_sync flag. | ||
339 | 385 | ||
340 | This file responds to select/poll. Any change to 'faulty' | 386 | This file responds to select/poll. Any change to 'faulty' |
341 | or 'blocked' causes an event. | 387 | or 'blocked' causes an event. |
@@ -372,6 +418,24 @@ Each directory contains: | |||
372 | array. If a value less than the current component_size is | 418 | array. If a value less than the current component_size is |
373 | written, it will be rejected. | 419 | written, it will be rejected. |
374 | 420 | ||
421 | recovery_start | ||
422 | |||
423 | When the device is not 'in_sync', this records the number of | ||
424 | sectors from the start of the device which are known to be | ||
425 | correct. This is normally zero, but during a recovery | ||
426 | operation is will steadily increase, and if the recovery is | ||
427 | interrupted, restoring this value can cause recovery to | ||
428 | avoid repeating the earlier blocks. With v1.x metadata, this | ||
429 | value is saved and restored automatically. | ||
430 | |||
431 | This can be set whenever the device is not an active member of | ||
432 | the array, either before the array is activated, or before | ||
433 | the 'slot' is set. | ||
434 | |||
435 | Setting this to 'none' is equivalent to setting 'in_sync'. | ||
436 | Setting to any other value also clears the 'in_sync' flag. | ||
437 | |||
438 | |||
375 | 439 | ||
376 | An active md device will also contain and entry for each active device | 440 | An active md device will also contain and entry for each active device |
377 | in the array. These are named | 441 | in the array. These are named |