forked from Minki/linux
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: NeilBrown <neilb@suse.de> Reviewed-by: Namhyung Kim <namhyung@gmail.com>
This commit is contained in:
parent
c4c1663be4
commit
82e5a1718b
@ -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)
|
|||||||
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)
|
|||||||
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
|
||||||
|
Loading…
Reference in New Issue
Block a user