Commit 82e5a171 authored by NeilBrown's avatar NeilBrown

md/raid5: move common code into handle_stripe

There is common code at the start of handle_stripe5 and
handle_stripe6.  Move it into handle_stripe.
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
Reviewed-by: default avatarNamhyung Kim <namhyung@gmail.com>
parent c4c1663b
...@@ -3016,12 +3016,6 @@ static void handle_stripe5(struct stripe_head *sh) ...@@ -3016,12 +3016,6 @@ static void handle_stripe5(struct stripe_head *sh)
atomic_read(&sh->count), sh->pd_idx, sh->check_state, atomic_read(&sh->count), sh->pd_idx, sh->check_state,
sh->reconstruct_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.syncing = test_bit(STRIPE_SYNCING, &sh->state);
s.expanding = test_bit(STRIPE_EXPAND_SOURCE, &sh->state); s.expanding = test_bit(STRIPE_EXPAND_SOURCE, &sh->state);
s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state); s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state);
...@@ -3310,12 +3304,6 @@ static void handle_stripe6(struct stripe_head *sh) ...@@ -3310,12 +3304,6 @@ static void handle_stripe6(struct stripe_head *sh)
sh->check_state, sh->reconstruct_state); sh->check_state, sh->reconstruct_state);
memset(&s, 0, sizeof(s)); 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.syncing = test_bit(STRIPE_SYNCING, &sh->state);
s.expanding = test_bit(STRIPE_EXPAND_SOURCE, &sh->state); s.expanding = test_bit(STRIPE_EXPAND_SOURCE, &sh->state);
s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state); s.expanded = test_bit(STRIPE_EXPAND_READY, &sh->state);
...@@ -3607,6 +3595,12 @@ static void handle_stripe(struct stripe_head *sh) ...@@ -3607,6 +3595,12 @@ static void handle_stripe(struct stripe_head *sh)
return; 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) if (sh->raid_conf->level == 6)
handle_stripe6(sh); handle_stripe6(sh);
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment