diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2012-11-08 19:12:31 -0500 |
---|---|---|
committer | Philipp Reisner <philipp.reisner@linbit.com> | 2012-11-09 08:22:26 -0500 |
commit | f1d6a328bbe63b528721a25251ad8f5f1e997804 (patch) | |
tree | fc3a84e75a9c6fbbf749b498c252adb9ca1980c3 | |
parent | ed635cb0674d6e4303d1a2e27d9e6e80b451a338 (diff) |
drbd: use copy_highpage
Use copy_highpage() to copy from one page to another.
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
-rw-r--r-- | drivers/block/drbd/drbd_bitmap.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/block/drbd/drbd_bitmap.c b/drivers/block/drbd/drbd_bitmap.c index 1ab205a4bf69..8dc29502dc08 100644 --- a/drivers/block/drbd/drbd_bitmap.c +++ b/drivers/block/drbd/drbd_bitmap.c | |||
@@ -1011,17 +1011,11 @@ static void bm_page_io_async(struct bm_aio_ctx *ctx, int page_nr, int rw) __must | |||
1011 | bm_set_page_unchanged(b->bm_pages[page_nr]); | 1011 | bm_set_page_unchanged(b->bm_pages[page_nr]); |
1012 | 1012 | ||
1013 | if (ctx->flags & BM_AIO_COPY_PAGES) { | 1013 | if (ctx->flags & BM_AIO_COPY_PAGES) { |
1014 | void *src, *dest; | ||
1015 | page = mempool_alloc(drbd_md_io_page_pool, __GFP_HIGHMEM|__GFP_WAIT); | 1014 | page = mempool_alloc(drbd_md_io_page_pool, __GFP_HIGHMEM|__GFP_WAIT); |
1016 | dest = kmap_atomic(page); | 1015 | copy_highpage(page, b->bm_pages[page_nr]); |
1017 | src = kmap_atomic(b->bm_pages[page_nr]); | ||
1018 | memcpy(dest, src, PAGE_SIZE); | ||
1019 | kunmap_atomic(src); | ||
1020 | kunmap_atomic(dest); | ||
1021 | bm_store_page_idx(page, page_nr); | 1016 | bm_store_page_idx(page, page_nr); |
1022 | } else | 1017 | } else |
1023 | page = b->bm_pages[page_nr]; | 1018 | page = b->bm_pages[page_nr]; |
1024 | |||
1025 | bio->bi_bdev = mdev->ldev->md_bdev; | 1019 | bio->bi_bdev = mdev->ldev->md_bdev; |
1026 | bio->bi_sector = on_disk_sector; | 1020 | bio->bi_sector = on_disk_sector; |
1027 | /* bio_add_page of a single page to an empty bio will always succeed, | 1021 | /* bio_add_page of a single page to an empty bio will always succeed, |