From: Xavier Bestel Within the body of this macro we are accessing rq->bio, but `bio' is an arg to the macro. If someone uses this macro with some variable which is not named `bio' it won't compile. So use a more-likely-to-be-unique identifier for the macro. --- include/linux/blkdev.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff -puN include/linux/blkdev.h~rq_for_each_bio-fix include/linux/blkdev.h --- 25/include/linux/blkdev.h~rq_for_each_bio-fix 2004-01-15 20:18:42.000000000 -0800 +++ 25-akpm/include/linux/blkdev.h 2004-01-15 20:19:02.000000000 -0800 @@ -483,9 +483,9 @@ static inline void blk_queue_bounce(requ } #endif /* CONFIG_MMU */ -#define rq_for_each_bio(bio, rq) \ +#define rq_for_each_bio(_bio, rq) \ if ((rq->bio)) \ - for (bio = (rq)->bio; bio; bio = bio->bi_next) + for (_bio = (rq)->bio; _bio; _bio = bio->bi_next) struct sec_size { unsigned block_size; _