Use memcpy_from_bvec instead of open coding the logic.

Signed-off-by: Christoph Hellwig <[email protected]>
---
 drivers/md/dm-log-writes.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/md/dm-log-writes.c b/drivers/md/dm-log-writes.c
index d93a4db235124..eeaf729287f06 100644
--- a/drivers/md/dm-log-writes.c
+++ b/drivers/md/dm-log-writes.c
@@ -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++;
-- 
2.30.2

--
dm-devel mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/dm-devel

Reply via email to