if (!rdev->faulty) { 
if (!test_bit(Faulty, &rdev->flags)) { 
static void multipath_error (mddev_t *mddev, mdk_rdev_t *rdev){	multipath_conf_t *conf = mddev_to_conf(mddev);	if (conf->working_disks <= 1) {		/*		 * Uh oh, we can do nothing if this is our last path, but		 * first check if this is a queued request for a device		 * which has just failed.		 */		printk(KERN_ALERT 			"multipath: only one IO path left and IO error.\n");		/* leave it active... it's all we have */	} else {		/*		 * Mark disk as unusable		 */		if (!rdev->faulty) {			char b[BDEVNAME_SIZE];			rdev->in_sync = 0;			rdev->faulty = 1;			mddev->sb_dirty = 1;			conf->working_disks--;			printk(KERN_ALERT "multipath: IO failure on %s,"				" disabling IO path. \n	Operation continuing"				" on %d IO paths.\n",				bdevname (rdev->bdev,b),				conf->working_disks);		}	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b2d444d7ad975d555bb919601bcdc0e58975a40e/multipath.c/clean/drivers/md/multipath.c