--- linux-2.6.19/drivers/md/raid5.c 2006-12-11 11:33:23.000000000 +0000 +++ linux-2.6.19-git17/drivers/md/raid5.c 2006-12-11 11:31:27.000000000 +0000 @@ -2567,7 +2567,7 @@ unsigned int chunk_sectors = mddev->chunk_size >> 9; unsigned int bio_sectors = bio->bi_size >> 9; - if (bio_data_dir(bio)) + if (bio_data_dir(bio) == WRITE ) return biovec->bv_len; /* always allow writes to be mergeable */ max = (chunk_sectors - ((sector & (chunk_sectors - 1)) + bio_sectors)) << 9;