Re: [PATCH 04/10] zram: use memcpy_from_bvec in zram_bvec_write

Ira Weiny
2022-03-01T02:13:01Z

On Tue, Feb 22, 2022 at 04:51:50PM +0100, Christoph Hellwig wrote:
> Use memcpy_from_bvec instead of open coding the logic.
>
> Signed-off-by: Christoph Hellwig <hch@lst.de>

Same comment regarding the dst map. Does it need to be atomic?

Regardless,
Reviewed-by: Ira Weiny <ira.weiny@intel.com>

> ---
> drivers/block/zram/zram_drv.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
> index 14becdf2815df..e9474b02012de 100644
> --- a/drivers/block/zram/zram_drv.c
> +++ b/drivers/block/zram/zram_drv.c
> @@ -1465,7 +1465,6 @@ static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec,
> {
> int ret;
> struct page *page = NULL;
> - void *src;
> struct bio_vec vec;
>
> vec = *bvec;
> @@ -1483,11 +1482,9 @@ static int zram_bvec_write(struct zram *zram, struct bio_vec *bvec,
> if (ret)
> goto out;
>
> - src = kmap_atomic(bvec->bv_page);
> dst = kmap_atomic(page);
> - memcpy(dst + offset, src + bvec->bv_offset, bvec->bv_len);
> + memcpy_from_bvec(dst + offset, bvec);
> kunmap_atomic(dst);
> - kunmap_atomic(src);
>
> vec.bv_page = page;
> vec.bv_len = PAGE_SIZE;
> --
> 2.30.2
>
>