Lines Matching refs:sh2

727 static void lock_two_stripes(struct stripe_head *sh1, struct stripe_head *sh2)  in lock_two_stripes()  argument
730 if (sh1 > sh2) { in lock_two_stripes()
731 spin_lock(&sh2->stripe_lock); in lock_two_stripes()
735 spin_lock_nested(&sh2->stripe_lock, 1); in lock_two_stripes()
739 static void unlock_two_stripes(struct stripe_head *sh1, struct stripe_head *sh2) in unlock_two_stripes() argument
742 spin_unlock(&sh2->stripe_lock); in unlock_two_stripes()
2751 struct stripe_head sh2; in raid5_compute_blocknr() local
2846 previous, &dummy1, &sh2); in raid5_compute_blocknr()
2847 if (check != sh->sector || dummy1 != dd_idx || sh2.pd_idx != sh->pd_idx in raid5_compute_blocknr()
2848 || sh2.qd_idx != sh->qd_idx) { in raid5_compute_blocknr()
3952 struct stripe_head *sh2; in handle_stripe_expansion() local
3958 sh2 = raid5_get_active_stripe(conf, s, 0, 1, 1); in handle_stripe_expansion()
3959 if (sh2 == NULL) in handle_stripe_expansion()
3965 if (!test_bit(STRIPE_EXPANDING, &sh2->state) || in handle_stripe_expansion()
3966 test_bit(R5_Expanded, &sh2->dev[dd_idx].flags)) { in handle_stripe_expansion()
3968 raid5_release_stripe(sh2); in handle_stripe_expansion()
3974 tx = async_memcpy(sh2->dev[dd_idx].page, in handle_stripe_expansion()
3978 set_bit(R5_Expanded, &sh2->dev[dd_idx].flags); in handle_stripe_expansion()
3979 set_bit(R5_UPTODATE, &sh2->dev[dd_idx].flags); in handle_stripe_expansion()
3981 if (j != sh2->pd_idx && in handle_stripe_expansion()
3982 j != sh2->qd_idx && in handle_stripe_expansion()
3983 !test_bit(R5_Expanded, &sh2->dev[j].flags)) in handle_stripe_expansion()
3986 set_bit(STRIPE_EXPAND_READY, &sh2->state); in handle_stripe_expansion()
3987 set_bit(STRIPE_HANDLE, &sh2->state); in handle_stripe_expansion()
3989 raid5_release_stripe(sh2); in handle_stripe_expansion()