|
@@ -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,
|