for (disk=0; disk < mddev->raid_disks; disk++) 
if (rdev->saved_raid_disk >= 0 && conf->disks[rdev->saved_raid_disk].rdev == NULL) disk = rdev->saved_raid_disk; else disk = 0; for ( ; disk < mddev->raid_disks; disk++) 
static int raid6_add_disk(mddev_t *mddev, mdk_rdev_t *rdev){	raid6_conf_t *conf = mddev->private;	int found = 0;	int disk;	struct disk_info *p;	if (mddev->degraded > 2)		/* no point adding a device */		return 0;	/*	 * find the disk ...	 */	for (disk=0; disk < mddev->raid_disks; disk++)		if ((p=conf->disks + disk)->rdev == NULL) {			clear_bit(In_sync, &rdev->flags);			rdev->raid_disk = disk;			found = 1;			if (rdev->saved_raid_disk != disk)				conf->fullsync = 1;			rcu_assign_pointer(p->rdev, rdev);			break;		}	print_raid6_conf(conf);	return found;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/6aea114a728db9296f42102d4885e7fb035de0a9/raid6main.c/buggy/drivers/md/raid6main.c