Lines Matching refs:sh2
1943 struct stripe_head sh2;
2039 previous, &dummy1, &sh2);
2040 if (check != sh->sector || dummy1 != dd_idx || sh2.pd_idx != sh->pd_idx
2041 || sh2.qd_idx != sh->qd_idx) {
2941 struct stripe_head *sh2;
2947 sh2 = get_active_stripe(conf, s, 0, 1, 1);
2948 if (sh2 == NULL)
2954 if (!test_bit(STRIPE_EXPANDING, &sh2->state) ||
2955 test_bit(R5_Expanded, &sh2->dev[dd_idx].flags)) {
2957 release_stripe(sh2);
2963 tx = async_memcpy(sh2->dev[dd_idx].page,
2967 set_bit(R5_Expanded, &sh2->dev[dd_idx].flags);
2968 set_bit(R5_UPTODATE, &sh2->dev[dd_idx].flags);
2970 if (j != sh2->pd_idx &&
2971 (!r6s || j != sh2->qd_idx) &&
2972 !test_bit(R5_Expanded, &sh2->dev[j].flags))
2975 set_bit(STRIPE_EXPAND_READY, &sh2->state);
2976 set_bit(STRIPE_HANDLE, &sh2->state);
2978 release_stripe(sh2);
3227 struct stripe_head *sh2
3229 if (sh2 && test_bit(STRIPE_EXPAND_SOURCE, &sh2->state)) {
3230 /* sh cannot be written until sh2 has been read.
3236 &sh2->state))
3238 release_stripe(sh2);
3241 if (sh2)
3242 release_stripe(sh2);
3539 struct stripe_head *sh2
3541 if (sh2 && test_bit(STRIPE_EXPAND_SOURCE, &sh2->state)) {
3542 /* sh cannot be written until sh2 has been read.
3548 &sh2->state))
3550 release_stripe(sh2);
3553 if (sh2)
3554 release_stripe(sh2);