else 
/* an I/O failed, we can't clear the bitmap */ set_bit(R1BIO_Degraded, &r1_bio->state); } else 
static int raid1_end_write_request(struct bio *bio, unsigned int bytes_done, int error){	int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags);	r1bio_t * r1_bio = (r1bio_t *)(bio->bi_private);	int mirror;	conf_t *conf = mddev_to_conf(r1_bio->mddev);	if (bio->bi_size)		return 1;	for (mirror = 0; mirror < conf->raid_disks; mirror++)		if (r1_bio->bios[mirror] == bio)			break;	/*	 * this branch is our 'one mirror IO has finished' event handler:	 */	if (!uptodate)		md_error(r1_bio->mddev, conf->mirrors[mirror].rdev);	else		/*		 * Set R1BIO_Uptodate in our master bio, so that		 * we will return a good error code for to the higher		 * levels even if IO on some other mirrored buffer fails.		 *		 * The 'master' represents the composite IO operation to		 * user-side. So if something waits for IO, then it will		 * wait for the 'master' bio.		 */		set_bit(R1BIO_Uptodate, &r1_bio->state);	update_head_pos(mirror, r1_bio);	/*	 *	 * Let's see if all mirrored write operations have finished	 * already.	 */	if (atomic_dec_and_test(&r1_bio->remaining)) {		md_write_end(r1_bio->mddev);		raid_end_bio_io(r1_bio);	}	rdev_dec_pending(conf->mirrors[mirror].rdev, conf->mddev);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/191ea9b2c7cc3ebbe0678834ab710d7d95ad3f9a/raid1.c/buggy/drivers/md/raid1.c