Hi, Sorry for disturbing, but I have consider this problem for several days. I have a question when reading md driver. Following is the code from linux/drivers/md/md.c, function md_do_sync(): > for_each_mddev(mddev2, tmp) { > if (mddev2 == mddev) > continue; > if (!mddev->parallel_resync > && mddev2->curr_resync > && match_mddev_units(mddev, mddev2)) { > DEFINE_WAIT(wq); > if (mddev < mddev2 && mddev->curr_resync == 2) { > /* arbitrarily yield */ > mddev->curr_resync = 1; > wake_up(&resync_wait); > } > if (mddev > mddev2 && mddev->curr_resync == 1) > /* no need to wait here, we can wait the next > * time 'round when curr_resync == 2 > */ > continue; > /* We need to wait 'interruptible' so as not to The type of mddev2 and mddev both are struct mddev *, so what's the meaning of comparing these two variables? -- 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