diff options
author | Neil Brown <neilb@suse.de> | 2007-11-05 17:51:02 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-11-05 18:12:32 -0500 |
commit | def6ae26a9e69c3e6d0f0054524c76fd32420ecd (patch) | |
tree | 3688a3d5d8507835e0f55fb3e3d83b52cfa049a7 /drivers/md/raid5.c | |
parent | 139b82984af5a98e4b03fd01616d79fc4970128a (diff) |
md: fix misapplied patch in raid5.c
commit 4ae3f847e49e3787eca91bced31f8fd328d50496 ("md: raid5: fix
clearing of biofill operations") did not get applied correctly,
presumably due to substantial similarities between handle_stripe5 and
handle_stripe6.
This patch moves the chunk of new code from handle_stripe6 (where it isn't
needed (yet)) to handle_stripe5.
Signed-off-by: Neil Brown <neilb@suse.de>
Cc: "Dan Williams" <dan.j.williams@intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/md/raid5.c')
-rw-r--r-- | drivers/md/raid5.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 80a67d789b72..82af3465a900 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c | |||
@@ -2624,6 +2624,13 @@ static void handle_stripe5(struct stripe_head *sh) | |||
2624 | s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state); | 2624 | s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state); |
2625 | /* Now to look around and see what can be done */ | 2625 | /* Now to look around and see what can be done */ |
2626 | 2626 | ||
2627 | /* clean-up completed biofill operations */ | ||
2628 | if (test_bit(STRIPE_OP_BIOFILL, &sh->ops.complete)) { | ||
2629 | clear_bit(STRIPE_OP_BIOFILL, &sh->ops.pending); | ||
2630 | clear_bit(STRIPE_OP_BIOFILL, &sh->ops.ack); | ||
2631 | clear_bit(STRIPE_OP_BIOFILL, &sh->ops.complete); | ||
2632 | } | ||
2633 | |||
2627 | rcu_read_lock(); | 2634 | rcu_read_lock(); |
2628 | for (i=disks; i--; ) { | 2635 | for (i=disks; i--; ) { |
2629 | mdk_rdev_t *rdev; | 2636 | mdk_rdev_t *rdev; |
@@ -2897,13 +2904,6 @@ static void handle_stripe6(struct stripe_head *sh, struct page *tmp_page) | |||
2897 | s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state); | 2904 | s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state); |
2898 | /* Now to look around and see what can be done */ | 2905 | /* Now to look around and see what can be done */ |
2899 | 2906 | ||
2900 | /* clean-up completed biofill operations */ | ||
2901 | if (test_bit(STRIPE_OP_BIOFILL, &sh->ops.complete)) { | ||
2902 | clear_bit(STRIPE_OP_BIOFILL, &sh->ops.pending); | ||
2903 | clear_bit(STRIPE_OP_BIOFILL, &sh->ops.ack); | ||
2904 | clear_bit(STRIPE_OP_BIOFILL, &sh->ops.complete); | ||
2905 | } | ||
2906 | |||
2907 | rcu_read_lock(); | 2907 | rcu_read_lock(); |
2908 | for (i=disks; i--; ) { | 2908 | for (i=disks; i--; ) { |
2909 | mdk_rdev_t *rdev; | 2909 | mdk_rdev_t *rdev; |