On Fri, 22 Jul 2011 13:49:37 +0900 Namhyung Kim <namhyung@xxxxxxxxx> wrote: > > @@ -2964,7 +2964,7 @@ static void handle_stripe_expansion(raid5_conf_t *conf, struct stripe_head *sh, > > set_bit(R5_UPTODATE, &sh2->dev[dd_idx].flags); > > for (j = 0; j < conf->raid_disks; j++) > > if (j != sh2->pd_idx && > > - (!r6s || j != sh2->qd_idx) && > > + (r6s || j != sh2->qd_idx) && > > Why is this changed? > No good reason that I can think of ... so must be a bug. I'll fix it. In the current code, r6s is always NULL! which is also a bug. When you get to md/raid5: Move code for finishing a reconstruction into handle_stripe. You'll find that the call which passed 's' in was changed to pass 'NULL' in when merging the RAID5 and RAID6 code. I'll fix that too. Thanks, NeilBrown -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html