[PATCH 7/8] block: convert block/rd.c to use blk_kmap helpers

From: Tejun Heo
Date: Fri Jan 13 2006 - 10:23:41 EST


Convert block/rd.c to use blk_kmap/unmap helpers. rd already had all
needed cache flushes, so this patch doesn't change its functionality.

Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>

---

drivers/block/rd.c | 19 +++++++++++--------
1 files changed, 11 insertions(+), 8 deletions(-)

f09db99a6eb5be8a6a793c3a73e1457bfa61c928
diff --git a/drivers/block/rd.c b/drivers/block/rd.c
index ffd6abd..d0ff693 100644
--- a/drivers/block/rd.c
+++ b/drivers/block/rd.c
@@ -232,9 +232,11 @@ static int rd_blkdev_pagecache_IO(int rw

if (rw == READ) {
src = kmap_atomic(page, KM_USER0) + offset;
- dst = kmap_atomic(vec->bv_page, KM_USER1) + vec_offset;
+ dst = blk_kmap_atomic(vec->bv_page, KM_USER1,
+ DMA_FROM_DEVICE) + vec_offset;
} else {
- src = kmap_atomic(vec->bv_page, KM_USER0) + vec_offset;
+ src = blk_kmap_atomic(vec->bv_page, KM_USER0,
+ DMA_TO_DEVICE) + vec_offset;
dst = kmap_atomic(page, KM_USER1) + offset;
}
offset = 0;
@@ -242,13 +244,14 @@ static int rd_blkdev_pagecache_IO(int rw

memcpy(dst, src, count);

- kunmap_atomic(src, KM_USER0);
- kunmap_atomic(dst, KM_USER1);
-
- if (rw == READ)
- flush_dcache_page(vec->bv_page);
- else
+ if (rw == READ) {
+ kunmap_atomic(src, KM_USER0);
+ blk_kunmap_atomic(dst, KM_USER1, DMA_FROM_DEVICE);
+ } else {
+ blk_kunmap_atomic(src, KM_USER0, DMA_TO_DEVICE);
+ kunmap_atomic(dst, KM_USER1);
set_page_dirty(page);
+ }
unlock_page(page);
put_page(page);
} while (size);
--
1.0.6


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/