drbd: use copy_highpage
Akinobu Mita [Fri, 9 Nov 2012 00:12:31 +0000 (16:12 -0800)]
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>

drivers/block/drbd/drbd_bitmap.c

index 1ab205a..8dc2950 100644 (file)
@@ -1011,17 +1011,11 @@ static void bm_page_io_async(struct bm_aio_ctx *ctx, int page_nr, int rw) __must
        bm_set_page_unchanged(b->bm_pages[page_nr]);
 
        if (ctx->flags & BM_AIO_COPY_PAGES) {
-               void *src, *dest;
                page = mempool_alloc(drbd_md_io_page_pool, __GFP_HIGHMEM|__GFP_WAIT);
-               dest = kmap_atomic(page);
-               src = kmap_atomic(b->bm_pages[page_nr]);
-               memcpy(dest, src, PAGE_SIZE);
-               kunmap_atomic(src);
-               kunmap_atomic(dest);
+               copy_highpage(page, b->bm_pages[page_nr]);
                bm_store_page_idx(page, page_nr);
        } else
                page = b->bm_pages[page_nr];
-
        bio->bi_bdev = mdev->ldev->md_bdev;
        bio->bi_sector = on_disk_sector;
        /* bio_add_page of a single page to an empty bio will always succeed,