if (mddev->recovery & ((1<<MD_RECOVERY_RUNNING) || (1<<MD_RECOVERY_NEEDED))) 
 if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) || test_bit(MD_RECOVERY_NEEDED, &mddev->recovery)) 
md_store_scan(mddev_t *mddev, const char *page, size_t len){	int canscan=0;	if (mddev->recovery &	    ((1<<MD_RECOVERY_RUNNING) || (1<<MD_RECOVERY_NEEDED)))		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;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/31399d9e56abeec4d819f07eefc97f30b5d5ed75/md.c/clean/drivers/md/md.c