]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blob - src/patches/suse-2.6.27.39/patches.fixes/0007-md-write-bitmap-information-to-devices-that-are-unde.patch
Fix oinkmaster patch.
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.39 / patches.fixes / 0007-md-write-bitmap-information-to-devices-that-are-unde.patch
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);