diff --git a/[refs] b/[refs] index c97d92d35392..7781586875bd 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9b1d1dac181d8c1b9492e05cee660a985d035a06 +refs/heads/master: 2d2063ceae73660d5142f4754d50a75b655fd1f9 diff --git a/trunk/drivers/md/raid5.c b/trunk/drivers/md/raid5.c index 1c8ab340a11d..46fd651539fe 100644 --- a/trunk/drivers/md/raid5.c +++ b/trunk/drivers/md/raid5.c @@ -1351,10 +1351,9 @@ static int page_is_zero(struct page *p) static int stripe_to_pdidx(sector_t stripe, raid5_conf_t *conf, int disks) { int sectors_per_chunk = conf->chunk_size >> 9; - sector_t x = stripe; int pd_idx, dd_idx; - int chunk_offset = sector_div(x, sectors_per_chunk); - stripe = x; + int chunk_offset = sector_div(stripe, sectors_per_chunk); + raid5_compute_sector(stripe*(disks-1)*sectors_per_chunk + chunk_offset, disks, disks-1, &dd_idx, &pd_idx, conf); return pd_idx;