diff options
author | NeilBrown <neilb@suse.de> | 2007-05-09 05:35:38 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 15:30:57 -0400 |
commit | 08a02ecd28bad35a47357e611044dcbeab06e3d7 (patch) | |
tree | 31050d686e58d55411f95c89204321aa2ea2b63a /Documentation | |
parent | 42b9bebe3fea3d3ce381bc6735a3fb50e6613f06 (diff) |
md: allow reshape_position for md arrays to be set via sysfs
"reshape_position" records how much progress has been made on a "reshape"
(adding drives, changing layout or chunksize).
When it is set, the number of drives, layout and chunksize can have
two possible values, an old an a new.
So allow these different values to be visible, and allow both old and new to
be set: Set the old ones first, then the reshape_position, then the new
values.
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/md.txt | 72 |
1 files changed, 44 insertions, 28 deletions
diff --git a/Documentation/md.txt b/Documentation/md.txt index 2202f5dc8ac2..5818628207b5 100644 --- a/Documentation/md.txt +++ b/Documentation/md.txt | |||
@@ -178,6 +178,21 @@ All md devices contain: | |||
178 | The size should be at least PAGE_SIZE (4k) and should be a power | 178 | The size should be at least PAGE_SIZE (4k) and should be a power |
179 | of 2. This can only be set while assembling an array | 179 | of 2. This can only be set while assembling an array |
180 | 180 | ||
181 | layout | ||
182 | The "layout" for the array for the particular level. This is | ||
183 | simply a number that is interpretted differently by different | ||
184 | levels. It can be written while assembling an array. | ||
185 | |||
186 | reshape_position | ||
187 | This is either "none" or a sector number within the devices of | ||
188 | the array where "reshape" is up to. If this is set, the three | ||
189 | attributes mentioned above (raid_disks, chunk_size, layout) can | ||
190 | potentially have 2 values, an old and a new value. If these | ||
191 | values differ, reading the attribute returns | ||
192 | new (old) | ||
193 | and writing will effect the 'new' value, leaving the 'old' | ||
194 | unchanged. | ||
195 | |||
181 | component_size | 196 | component_size |
182 | For arrays with data redundancy (i.e. not raid0, linear, faulty, | 197 | For arrays with data redundancy (i.e. not raid0, linear, faulty, |
183 | multipath), all components must be the same size - or at least | 198 | multipath), all components must be the same size - or at least |
@@ -193,11 +208,6 @@ All md devices contain: | |||
193 | 1.2 (newer format in varying locations) or "none" indicating that | 208 | 1.2 (newer format in varying locations) or "none" indicating that |
194 | the kernel isn't managing metadata at all. | 209 | the kernel isn't managing metadata at all. |
195 | 210 | ||
196 | layout | ||
197 | The "layout" for the array for the particular level. This is | ||
198 | simply a number that is interpretted differently by different | ||
199 | levels. It can be written while assembling an array. | ||
200 | |||
201 | resync_start | 211 | resync_start |
202 | The point at which resync should start. If no resync is needed, | 212 | The point at which resync should start. If no resync is needed, |
203 | this will be a very large number. At array creation it will | 213 | this will be a very large number. At array creation it will |
@@ -259,29 +269,6 @@ All md devices contain: | |||
259 | like active, but no writes have been seen for a while (safe_mode_delay). | 269 | like active, but no writes have been seen for a while (safe_mode_delay). |
260 | 270 | ||
261 | 271 | ||
262 | sync_speed_min | ||
263 | sync_speed_max | ||
264 | This are similar to /proc/sys/dev/raid/speed_limit_{min,max} | ||
265 | however they only apply to the particular array. | ||
266 | If no value has been written to these, of if the word 'system' | ||
267 | is written, then the system-wide value is used. If a value, | ||
268 | in kibibytes-per-second is written, then it is used. | ||
269 | When the files are read, they show the currently active value | ||
270 | followed by "(local)" or "(system)" depending on whether it is | ||
271 | a locally set or system-wide value. | ||
272 | |||
273 | sync_completed | ||
274 | This shows the number of sectors that have been completed of | ||
275 | whatever the current sync_action is, followed by the number of | ||
276 | sectors in total that could need to be processed. The two | ||
277 | numbers are separated by a '/' thus effectively showing one | ||
278 | value, a fraction of the process that is complete. | ||
279 | |||
280 | sync_speed | ||
281 | This shows the current actual speed, in K/sec, of the current | ||
282 | sync_action. It is averaged over the last 30 seconds. | ||
283 | |||
284 | |||
285 | As component devices are added to an md array, they appear in the 'md' | 272 | As component devices are added to an md array, they appear in the 'md' |
286 | directory as new directories named | 273 | directory as new directories named |
287 | dev-XXX | 274 | dev-XXX |
@@ -412,6 +399,35 @@ also have | |||
412 | Note that the numbers are 'bit' numbers, not 'block' numbers. | 399 | Note that the numbers are 'bit' numbers, not 'block' numbers. |
413 | They should be scaled by the bitmap_chunksize. | 400 | They should be scaled by the bitmap_chunksize. |
414 | 401 | ||
402 | sync_speed_min | ||
403 | sync_speed_max | ||
404 | This are similar to /proc/sys/dev/raid/speed_limit_{min,max} | ||
405 | however they only apply to the particular array. | ||
406 | If no value has been written to these, of if the word 'system' | ||
407 | is written, then the system-wide value is used. If a value, | ||
408 | in kibibytes-per-second is written, then it is used. | ||
409 | When the files are read, they show the currently active value | ||
410 | followed by "(local)" or "(system)" depending on whether it is | ||
411 | a locally set or system-wide value. | ||
412 | |||
413 | sync_completed | ||
414 | This shows the number of sectors that have been completed of | ||
415 | whatever the current sync_action is, followed by the number of | ||
416 | sectors in total that could need to be processed. The two | ||
417 | numbers are separated by a '/' thus effectively showing one | ||
418 | value, a fraction of the process that is complete. | ||
419 | |||
420 | sync_speed | ||
421 | This shows the current actual speed, in K/sec, of the current | ||
422 | sync_action. It is averaged over the last 30 seconds. | ||
423 | |||
424 | suspend_lo | ||
425 | suspend_hi | ||
426 | The two values, given as numbers of sectors, indicate a range | ||
427 | within the array where IO will be blocked. This is currently | ||
428 | only supported for raid4/5/6. | ||
429 | |||
430 | |||
415 | Each active md device may also have attributes specific to the | 431 | Each active md device may also have attributes specific to the |
416 | personality module that manages it. | 432 | personality module that manages it. |
417 | These are specific to the implementation of the module and could | 433 | These are specific to the implementation of the module and could |