aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/md/md.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2006-03-27 04:18:10 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-27 11:45:01 -0500
commit292695531ae4019bb15deedc121b218d1908b648 (patch)
treefb205eae13c3f3410f6ea44557b1c96b075a4d44 /drivers/md/md.c
parentccfcc3c10b2a5cb8fd3c918199a4ff904fc6fb3e (diff)
[PATCH] md: Final stages of raid5 expand code
This patch adds raid5_reshape and end_reshape which will start and finish the reshape processes. raid5_reshape is only enabled in CONFIG_MD_RAID5_RESHAPE is set, to discourage accidental use. Read the 'help' for the CONFIG_MD_RAID5_RESHAPE entry. and Make sure that you have backups, just in case. 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.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 8e65986bc63f..d169bc964676 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -158,11 +158,12 @@ static int start_readonly;
158 */ 158 */
159static DECLARE_WAIT_QUEUE_HEAD(md_event_waiters); 159static DECLARE_WAIT_QUEUE_HEAD(md_event_waiters);
160static atomic_t md_event_count; 160static atomic_t md_event_count;
161static void md_new_event(mddev_t *mddev) 161void md_new_event(mddev_t *mddev)
162{ 162{
163 atomic_inc(&md_event_count); 163 atomic_inc(&md_event_count);
164 wake_up(&md_event_waiters); 164 wake_up(&md_event_waiters);
165} 165}
166EXPORT_SYMBOL_GPL(md_new_event);
166 167
167/* 168/*
168 * Enables to iterate over all existing md arrays 169 * Enables to iterate over all existing md arrays
@@ -4467,7 +4468,7 @@ static DECLARE_WAIT_QUEUE_HEAD(resync_wait);
4467 4468
4468#define SYNC_MARKS 10 4469#define SYNC_MARKS 10
4469#define SYNC_MARK_STEP (3*HZ) 4470#define SYNC_MARK_STEP (3*HZ)
4470static void md_do_sync(mddev_t *mddev) 4471void md_do_sync(mddev_t *mddev)
4471{ 4472{
4472 mddev_t *mddev2; 4473 mddev_t *mddev2;
4473 unsigned int currspeed = 0, 4474 unsigned int currspeed = 0,
@@ -4704,6 +4705,7 @@ static void md_do_sync(mddev_t *mddev)
4704 set_bit(MD_RECOVERY_DONE, &mddev->recovery); 4705 set_bit(MD_RECOVERY_DONE, &mddev->recovery);
4705 md_wakeup_thread(mddev->thread); 4706 md_wakeup_thread(mddev->thread);
4706} 4707}
4708EXPORT_SYMBOL_GPL(md_do_sync);
4707 4709
4708 4710
4709/* 4711/*