int multipath_end_request(struct bio *bio, unsigned int bytes_done, int error) 
static int multipath_end_request(struct bio *bio, unsigned int bytes_done, int error) 
int multipath_end_request(struct bio *bio, unsigned int bytes_done, int error){	int uptodate = test_bit(BIO_UPTODATE, &bio->bi_flags);	struct multipath_bh * mp_bh = (struct multipath_bh *)(bio->bi_private);	multipath_conf_t *conf = mddev_to_conf(mp_bh->mddev);	mdk_rdev_t *rdev = conf->multipaths[mp_bh->path].rdev;	if (bio->bi_size)		return 1;	if (uptodate)		multipath_end_bh_io(mp_bh, 0);	else if (!bio_rw_ahead(bio)) {		/*		 * oops, IO error:		 */		char b[BDEVNAME_SIZE];		md_error (mp_bh->mddev, rdev);		printk(KERN_ERR "multipath: %s: rescheduling sector %llu\n", 		       bdevname(rdev->bdev,b), 		       (unsigned long long)bio->bi_sector);		multipath_reschedule_retry(mp_bh);	} else		multipath_end_bh_io(mp_bh, error);	rdev_dec_pending(rdev, conf->mddev);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/75c96f85845a6707b0f9916cb263cb3584f7d48f/multipath.c/buggy/drivers/md/multipath.c