]> www.infradead.org Git - users/hch/block.git/commitdiff
dm-log-writes: use memcpy_from_bvec in log_writes_map
authorChristoph Hellwig <hch@lst.de>
Thu, 20 May 2021 12:55:57 +0000 (14:55 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 21 May 2021 05:55:29 +0000 (07:55 +0200)
Use memcpy_from_bvec instead of open coding the logic.

Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/md/dm-log-writes.c

index 57882654ffee79eee87de2b582ccaf124a559000..80e4f1f545832d5120e60c1cbd58cf78951fb898 100644 (file)
@@ -753,7 +753,7 @@ static int log_writes_map(struct dm_target *ti, struct bio *bio)
         */
        bio_for_each_segment(bv, bio, iter) {
                struct page *page;
-               void *src, *dst;
+               void *dst;
 
                page = alloc_page(GFP_NOIO);
                if (!page) {
@@ -765,11 +765,9 @@ static int log_writes_map(struct dm_target *ti, struct bio *bio)
                        return DM_MAPIO_KILL;
                }
 
-               src = kmap_atomic(bv.bv_page);
                dst = kmap_atomic(page);
-               memcpy(dst, src + bv.bv_offset, bv.bv_len);
+               memcpy_from_bvec(dst, &bv);
                kunmap_atomic(dst);
-               kunmap_atomic(src);
                block->vecs[i].bv_page = page;
                block->vecs[i].bv_len = bv.bv_len;
                block->vec_cnt++;