Lines Matching refs:dd_idx

821 	int dd_idx;
869 dd_idx = 0;
870 while (dd_idx == sh->pd_idx || dd_idx == sh->qd_idx)
871 dd_idx++;
872 if (head->dev[dd_idx].towrite->bi_opf != sh->dev[dd_idx].towrite->bi_opf ||
873 bio_op(head->dev[dd_idx].towrite) != bio_op(sh->dev[dd_idx].towrite))
2913 int previous, int *dd_idx,
2942 *dd_idx = sector_div(stripe, data_disks);
2956 if (*dd_idx >= pd_idx)
2957 (*dd_idx)++;
2961 if (*dd_idx >= pd_idx)
2962 (*dd_idx)++;
2966 *dd_idx = (pd_idx + 1 + *dd_idx) % raid_disks;
2970 *dd_idx = (pd_idx + 1 + *dd_idx) % raid_disks;
2974 (*dd_idx)++;
2990 (*dd_idx)++; /* Q D D D P */
2992 } else if (*dd_idx >= pd_idx)
2993 (*dd_idx) += 2; /* D D P Q D */
2999 (*dd_idx)++; /* Q D D D P */
3001 } else if (*dd_idx >= pd_idx)
3002 (*dd_idx) += 2; /* D D P Q D */
3007 *dd_idx = (pd_idx + 2 + *dd_idx) % raid_disks;
3012 *dd_idx = (pd_idx + 2 + *dd_idx) % raid_disks;
3018 (*dd_idx) += 2;
3032 (*dd_idx)++; /* Q D D D P */
3034 } else if (*dd_idx >= pd_idx)
3035 (*dd_idx) += 2; /* D D P Q D */
3048 (*dd_idx)++; /* Q D D D P */
3050 } else if (*dd_idx >= pd_idx)
3051 (*dd_idx) += 2; /* D D P Q D */
3059 *dd_idx = (pd_idx + 1 + *dd_idx) % raid_disks;
3066 if (*dd_idx >= pd_idx)
3067 (*dd_idx)++;
3073 if (*dd_idx >= pd_idx)
3074 (*dd_idx)++;
3080 *dd_idx = (pd_idx + 1 + *dd_idx) % (raid_disks-1);
3086 *dd_idx = (pd_idx + 1 + *dd_idx) % (raid_disks-1);
3092 (*dd_idx)++;
3127 int dummy1, dd_idx = i;
3225 if (check != sh->sector || dummy1 != dd_idx || sh2.pd_idx != sh->pd_idx
3404 static int add_stripe_bio(struct stripe_head *sh, struct bio *bi, int dd_idx,
3416 sh->dev[dd_idx].write_hint = bi->bi_write_hint;
3421 bip = &sh->dev[dd_idx].towrite;
3425 bip = &sh->dev[dd_idx].toread;
3450 (i == dd_idx || sh->dev[i].towrite)) {
3476 sector_t sector = sh->dev[dd_idx].sector;
3477 for (bi=sh->dev[dd_idx].towrite;
3478 sector < sh->dev[dd_idx].sector + RAID5_STRIPE_SECTORS(conf) &&
3480 bi = r5_next_bio(conf, bi, sh->dev[dd_idx].sector)) {
3484 if (sector >= sh->dev[dd_idx].sector + RAID5_STRIPE_SECTORS(conf))
3485 if (!test_and_set_bit(R5_OVERWRITE, &sh->dev[dd_idx].flags))
3491 (unsigned long long)sh->sector, dd_idx);
3524 set_bit(R5_Overlap, &sh->dev[dd_idx].flags);
3536 int dd_idx;
3544 &dd_idx, sh);
4521 int dd_idx, j;
4527 &dd_idx, NULL);
4536 test_bit(R5_Expanded, &sh2->dev[dd_idx].flags)) {
4544 tx = async_memcpy(sh2->dev[dd_idx].page,
4545 sh->dev[i].page, sh2->dev[dd_idx].offset,
4549 set_bit(R5_Expanded, &sh2->dev[dd_idx].flags);
4550 set_bit(R5_UPTODATE, &sh2->dev[dd_idx].flags);
5394 int dd_idx;
5420 0, &dd_idx, NULL);
5424 rdev = rcu_dereference(conf->disks[dd_idx].replacement);
5427 rdev = rcu_dereference(conf->disks[dd_idx].rdev);
5767 int dd_idx;
5858 &dd_idx, NULL);
5899 !add_stripe_bio(sh, bi, dd_idx, rw, previous)) {
5958 int dd_idx;
6143 1, &dd_idx, NULL);
6147 1, &dd_idx, NULL);
6313 * it will be only one 'dd_idx' and only need one call to raid5_compute_sector.
6316 int dd_idx;
6324 0, &dd_idx, NULL);
6345 if (!add_stripe_bio(sh, raid_bio, dd_idx, 0, 0)) {
6352 set_bit(R5_ReadNoMerge, &sh->dev[dd_idx].flags);