aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorRaz Ben-Jehuda(caro) <raziebe@gmail.com>2006-12-10 05:20:48 -0500
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-10 12:57:20 -0500
commit5248861511d6aae4997a5aa7152824d87587b0b6 (patch)
treea853392a6ca8fdb10a308e46b90e4ed63e66bf04 /drivers
parent46031f9a38a9773021f1872abc713d62467ac22e (diff)
[PATCH] md: enable bypassing cache for reads
Call the chunk_aligned_read where appropriate. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/md/raid5.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
index 2ac2e56a1a40..2e676e33744c 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -2808,6 +2808,11 @@ static int make_request(request_queue_t *q, struct bio * bi)
2808 disk_stat_inc(mddev->gendisk, ios[rw]); 2808 disk_stat_inc(mddev->gendisk, ios[rw]);
2809 disk_stat_add(mddev->gendisk, sectors[rw], bio_sectors(bi)); 2809 disk_stat_add(mddev->gendisk, sectors[rw], bio_sectors(bi));
2810 2810
2811 if (bio_data_dir(bi) == READ &&
2812 mddev->reshape_position == MaxSector &&
2813 chunk_aligned_read(q,bi))
2814 return 0;
2815
2811 logical_sector = bi->bi_sector & ~((sector_t)STRIPE_SECTORS-1); 2816 logical_sector = bi->bi_sector & ~((sector_t)STRIPE_SECTORS-1);
2812 last_sector = bi->bi_sector + (bi->bi_size>>9); 2817 last_sector = bi->bi_sector + (bi->bi_size>>9);
2813 bi->bi_next = NULL; 2818 bi->bi_next = NULL;