Lines Matching refs:head_sh
1143 struct stripe_head *head_sh = sh;
1162 sh = head_sh;
1200 if (test_bit(R5_ReadRepl, &head_sh->dev[i].flags) && rrdev)
1269 if (sh != head_sh)
1270 atomic_inc(&head_sh->count);
1277 if (test_bit(R5_ReadNoMerge, &head_sh->dev[i].flags))
1332 if (sh != head_sh)
1333 atomic_inc(&head_sh->count);
1371 if (!head_sh->batch_head)
1375 if (sh != head_sh)
1380 defer_issue_bios(conf, head_sh->sector, &pending_bios);
1939 struct stripe_head *head_sh = sh;
1948 sh = head_sh;
1949 if (test_and_clear_bit(R5_Wantdrain, &head_sh->dev[i].flags)) {
1991 if (head_sh->batch_head) {
1995 if (sh == head_sh)
2066 struct stripe_head *head_sh = sh;
2091 if (head_sh->reconstruct_state == reconstruct_state_prexor_drain_run) {
2097 if (head_sh->dev[i].written ||
2098 test_bit(R5_InJournal, &head_sh->dev[i].flags)) {
2120 last_stripe = !head_sh->batch_head ||
2122 struct stripe_head, batch_list) == head_sh;
2127 atomic_inc(&head_sh->count);
2128 init_async_submit(&submit, flags, tx, ops_complete_reconstruct, head_sh,
2158 struct stripe_head *head_sh = sh;
2192 last_stripe = !head_sh->batch_head ||
2194 struct stripe_head, batch_list) == head_sh;
2197 atomic_inc(&head_sh->count);
2199 head_sh, to_addr_conv(sh, percpu, j));
4065 static void break_stripe_batch_list(struct stripe_head *head_sh,
4078 struct stripe_head *head_sh = sh;
4113 if (head_sh->batch_head) {
4117 if (sh != head_sh) {
4122 sh = head_sh;
4151 if (head_sh->batch_head) {
4154 if (sh != head_sh)
4157 sh = head_sh;
4168 if (head_sh->batch_head && do_endio)
4169 break_stripe_batch_list(head_sh, STRIPE_EXPAND_SYNC_FLAGS);
4925 static void break_stripe_batch_list(struct stripe_head *head_sh,
4932 list_for_each_entry_safe(sh, next, &head_sh->batch_list, batch_list) {
4949 WARN_ONCE(head_sh->state & ((1 << STRIPE_DISCARD) |
4951 "head stripe state: %lx\n", head_sh->state);
4957 head_sh->state & (1 << STRIPE_INSYNC));
4959 sh->check_state = head_sh->check_state;
4960 sh->reconstruct_state = head_sh->reconstruct_state;
4967 sh->dev[i].flags = head_sh->dev[i].flags &
4975 spin_lock_irq(&head_sh->stripe_lock);
4976 head_sh->batch_head = NULL;
4977 spin_unlock_irq(&head_sh->stripe_lock);
4978 for (i = 0; i < head_sh->disks; i++)
4979 if (test_and_clear_bit(R5_Overlap, &head_sh->dev[i].flags))
4981 if (head_sh->state & handle_flags)
4982 set_bit(STRIPE_HANDLE, &head_sh->state);
4985 wake_up(&head_sh->raid_conf->wait_for_overlap);