--- 2.6.6-rc2-udm1/drivers/md/dm-mpath.c.orig	2004-05-10 21:16:20.000000000 -0700
+++ 2.6.6-rc2-udm1/drivers/md/dm-mpath.c	2004-05-12 02:54:50.686470770 -0700
@@ -243,6 +243,7 @@ static int map_io(struct multipath *m, s
 	if (!*chosen)
 		return -EIO;
 
+	bio->bi_rw |= (1 << BIO_RW_FAILFAST);
 	bio->bi_bdev = (*chosen)->dev->bdev;
 	return 0;
 }
@@ -501,7 +502,6 @@ static int multipath_map(struct dm_targe
 	io = mempool_alloc(m->details_pool, GFP_NOIO);
 	dm_bio_record(&io->details, bio);
 
-	bio->bi_rw |= (1 << BIO_RW_FAILFAST);
 	r = map_io(m, bio, &io->path);
 	if (r) {
 		mempool_free(io, m->details_pool);
