]>
Commit | Line | Data |
---|---|---|
00e5a55c BS |
1 | From 355a43e641b948a7b755cb4c2466ec548d5b495f Mon Sep 17 00:00:00 2001 |
2 | From: NeilBrown <neilb@suse.de> | |
3 | Date: Tue, 31 Mar 2009 14:27:02 +1100 | |
4 | Subject: [PATCH] md: write bitmap information to devices that are undergoing recovery. | |
5 | ||
6 | When we add some spares to an array and start recovery, and we have | |
7 | a bitmap which is stored 'internally' on all devices, we call | |
8 | bitmap_write_all to make sure the bitmap is correct on the new | |
9 | device(s). | |
10 | However that doesn't work as write_sb_page only writes to | |
11 | 'In_sync' devices, and devices undergoing recovery are not | |
12 | 'In_sync' until recovery finishes. | |
13 | ||
14 | So extend write_sb_page (actually next_active_rdev) to include devices | |
15 | that are under recovery. | |
16 | ||
17 | Signed-off-by: NeilBrown <neilb@suse.de> | |
18 | --- | |
19 | drivers/md/bitmap.c | 1 - | |
20 | 1 file changed, 1 deletion(-) | |
21 | ||
22 | --- linux-2.6.27-SLE11_BRANCH.orig/drivers/md/bitmap.c | |
23 | +++ linux-2.6.27-SLE11_BRANCH/drivers/md/bitmap.c | |
24 | @@ -265,7 +265,6 @@ static mdk_rdev_t *next_active_rdev(mdk_ | |
25 | list_for_each_continue_rcu(pos, &mddev->disks) { | |
26 | rdev = list_entry(pos, mdk_rdev_t, same_set); | |
27 | if (rdev->raid_disk >= 0 && | |
28 | - test_bit(In_sync, &rdev->flags) && | |
29 | !test_bit(Faulty, &rdev->flags)) { | |
30 | /* this is a usable devices */ | |
31 | atomic_inc(&rdev->nr_pending); |