md/raid5: move common code into handle_stripe
authorNeilBrown <neilb@suse.de>
Tue, 26 Jul 2011 01:35:15 +0000 (11:35 +1000)
committerNeilBrown <neilb@suse.de>
Tue, 26 Jul 2011 01:35:15 +0000 (11:35 +1000)
There is common code at the start of handle_stripe5 and
handle_stripe6.  Move it into handle_stripe.

Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Namhyung Kim <namhyung@gmail.com>
drivers/md/raid5.c

index f8275b5a6fbef149f3fab4106d48e54dc01bebf4..dfb3d9f80a3c19ea944fe582709f01446a82eede 100644 (file)
@@ -3016,12 +3016,6 @@ static void handle_stripe5(struct stripe_head *sh)
                 atomic_read(&sh->count), sh->pd_idx, sh->check_state,
                 sh->reconstruct_state);
 
-       if (test_and_clear_bit(STRIPE_SYNC_REQUESTED, &sh->state)) {
-               set_bit(STRIPE_SYNCING, &sh->state);
-               clear_bit(STRIPE_INSYNC, &sh->state);
-       }
-       clear_bit(STRIPE_DELAYED, &sh->state);
-
        s.syncing = test_bit(STRIPE_SYNCING, &sh->state);
        s.expanding = test_bit(STRIPE_EXPAND_SOURCE, &sh->state);
        s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state);
@@ -3310,12 +3304,6 @@ static void handle_stripe6(struct stripe_head *sh)
               sh->check_state, sh->reconstruct_state);
        memset(&s, 0, sizeof(s));
 
-       if (test_and_clear_bit(STRIPE_SYNC_REQUESTED, &sh->state)) {
-               set_bit(STRIPE_SYNCING, &sh->state);
-               clear_bit(STRIPE_INSYNC, &sh->state);
-       }
-       clear_bit(STRIPE_DELAYED, &sh->state);
-
        s.syncing = test_bit(STRIPE_SYNCING, &sh->state);
        s.expanding = test_bit(STRIPE_EXPAND_SOURCE, &sh->state);
        s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state);
@@ -3607,6 +3595,12 @@ static void handle_stripe(struct stripe_head *sh)
                return;
        }
 
+       if (test_and_clear_bit(STRIPE_SYNC_REQUESTED, &sh->state)) {
+               set_bit(STRIPE_SYNCING, &sh->state);
+               clear_bit(STRIPE_INSYNC, &sh->state);
+       }
+       clear_bit(STRIPE_DELAYED, &sh->state);
+
        if (sh->raid_conf->level == 6)
                handle_stripe6(sh);
        else