dm log writes: use memcpy_from_bvec in log_writes_map
Use memcpy_from_bvec instead of open coding the logic. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
25058d1c72
commit
27db271708
@ -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++;
|
||||
|
Loading…
Reference in New Issue
Block a user