down(&mddev->reconfig_sem); 
md_store_scan(mddev_t *mddev, const char *page, size_t len){	int canscan=0;	if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) ||	    test_bit(MD_RECOVERY_NEEDED, &mddev->recovery))		return -EBUSY;	down(&mddev->reconfig_sem);	if (mddev->pers && mddev->pers->sync_request)		canscan=1;	up(&mddev->reconfig_sem);	if (!canscan)		return -EINVAL;	if (strcmp(page, "check")==0 || strcmp(page, "check\n")==0)		set_bit(MD_RECOVERY_CHECK, &mddev->recovery);	else if (strcmp(page, "repair")!=0 && strcmp(page, "repair\n")!=0)		return -EINVAL;	set_bit(MD_RECOVERY_REQUESTED, &mddev->recovery);	set_bit(MD_RECOVERY_SYNC, &mddev->recovery);	set_bit(MD_RECOVERY_NEEDED, &mddev->recovery);	md_wakeup_thread(mddev->thread);	return len;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/96de1e663cda65ba9275afb1bc007f34e5068ba1/md.c/clean/drivers/md/md.c