diff options
author | NeilBrown <neilb@suse.de> | 2006-03-27 04:18:13 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-27 11:45:02 -0500 |
commit | 16484bf59634e25d1299761e5ed8bacf22bc6368 (patch) | |
tree | f11f049f5b60d766c402937bbb72c288a454ba4a /drivers/md/md.c | |
parent | 63c70c4f3a30e77e6f445bd16eff7934a031ebd3 (diff) |
[PATCH] md: Make 'reshape' a possible sync_action action
This allows reshape to be triggerred via sysfs (which is the only way to start
it happening).
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r-- | drivers/md/md.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 1a637676a930..a79dd33d343d 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -2247,7 +2247,14 @@ action_store(mddev_t *mddev, const char *page, size_t len) | |||
2247 | return -EBUSY; | 2247 | return -EBUSY; |
2248 | else if (cmd_match(page, "resync") || cmd_match(page, "recover")) | 2248 | else if (cmd_match(page, "resync") || cmd_match(page, "recover")) |
2249 | set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); | 2249 | set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); |
2250 | else { | 2250 | else if (cmd_match(page, "reshape")) { |
2251 | int err; | ||
2252 | if (mddev->pers->start_reshape == NULL) | ||
2253 | return -EINVAL; | ||
2254 | err = mddev->pers->start_reshape(mddev); | ||
2255 | if (err) | ||
2256 | return err; | ||
2257 | } else { | ||
2251 | if (cmd_match(page, "check")) | 2258 | if (cmd_match(page, "check")) |
2252 | set_bit(MD_RECOVERY_CHECK, &mddev->recovery); | 2259 | set_bit(MD_RECOVERY_CHECK, &mddev->recovery); |
2253 | else if (cmd_match(page, "repair")) | 2260 | else if (cmd_match(page, "repair")) |