[dm-devel] 2.6.4-rc2-udm1

Kevin Corry kevcorry at us.ibm.com
Wed Mar 10 16:39:00 UTC 2004


On Tuesday 09 March 2004 8:27 am, Joe Thornber wrote:
> http://people.sistina.com/~thornber/dm/patches/2.6-unstable/2.6.4-rc2/2.6.4
>-rc2-udm1.tar.bz2
>
> Revision 3:
>   Check the uptodate flag in sub-bios to see if there was an error.
>   [Mike Christie]

Now that we're checking the uptodate flag in the bio on endio, we need to add 
the bio flags to dm_bio_details and dm_bio_record/restore. Otherwise, in 
mpath, when an I/O fails and is retried, it will appear to fail on every 
other path as well.

-- 
Kevin Corry
kevcorry at us.ibm.com
http://evms.sourceforge.net/



Add bi_flags to dm_bio_details.

--- diff/drivers/md/dm-bio-record.h	2004-03-10 15:27:51.000000000 -0600
+++ source/drivers/md/dm-bio-record.h	2004-03-10 15:27:17.000000000 -0600
@@ -21,6 +21,7 @@
 	struct block_device *bi_bdev;
 	unsigned int bi_size;
 	unsigned short bi_idx;
+	unsigned long bi_flags;
 };
 
 static inline void dm_bio_record(struct dm_bio_details *bd, struct bio *bio)
@@ -29,6 +30,7 @@
 	bd->bi_bdev = bio->bi_bdev;
 	bd->bi_size = bio->bi_size;
 	bd->bi_idx = bio->bi_idx;
+	bd->bi_flags = bio->bi_flags;
 }
 
 static inline void dm_bio_restore(struct dm_bio_details *bd, struct bio *bio)
@@ -37,6 +39,7 @@
 	bio->bi_bdev = bd->bi_bdev;
 	bio->bi_size = bd->bi_size;
 	bio->bi_idx = bd->bi_idx;
+	bio->bi_flags = bd->bi_flags;
 }
 
 #endif




More information about the dm-devel mailing list